让 jquery 标签插件在 IE 中工作

发布于 2024-10-23 22:29:07 字数 305 浏览 0 评论 0原文

所以我一直在尝试实现这个: http://www.fatihkadirakin.com/dev/jquerytag/

这是一个非常好的标签插件,它允许您在输入字段中输入类似 facebook 的标签......

不幸的是,虽然它可以在 firefox 和 chrome 中工作,但它似乎无法在 IE 中工作,如演示所示。 ..

有没有人让它在 IE 中工作,如果是的话,你对 js 文件做了什么更改

so I've been trying to implement this: http://www.fatihkadirakin.com/dev/jquerytag/

it's a really good tag plugin which allows you to type in facebook-like tags into input field....

unfortunately though it works in firefox and chrome, it doesn't seem to work in IE as the demo demonstrates...

has anyone ever got it to work in IE and if so what changes to the js file did you make

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风柔一江水 2024-10-30 22:29:07

旧版 IE 没有 Array 上的 indexOf 方法,因此插件将此方法添加到 Array 原型中。

稍后在代码中,作者使用 for (tag in Tags) 循环遍历数组,而不进行任何 hasOwnProperty 检查。由于在本例中 indexOf 不是内置属性,因此 "indexOf"index 所采用的值之一。由于需要一个字符串,而不是一个函数,所以这会严重失败。

将循环(从第 146 行开始)更改为

            var index;
            for (index = 0; index < tags.length; index++) {
                var item = create_tag(tags[index]);
                list.append(item);
            }

,它会按预期工作。

Older IE versions don't have the indexOf method on Array, so the plugin adds this method to the Array prototype.

Later in the code, the author loops through an array using for (index in tags) without any hasOwnProperty check. Since indexOf is not a builtin property in this case, "indexOf" is one of the values that index takes on. Since a string is expected, not a function, this fails badly.

Change the loop (starting at line 146) to

            var index;
            for (index = 0; index < tags.length; index++) {
                var item = create_tag(tags[index]);
                list.append(item);
            }

and it works as expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文