当添加自己的自定义插件,然后尝试在单击事件中使用该插件时,IE(或至少IE8)表示该函数未定义(错误消息是“对象不支持此属性或方法)为什么?
$.fn.myFunc = function() {
alert( $(this).text() );
};
$('p').click(function() {
$(this).myFunc();
});
它似乎不是$(this)
变量的问题,它变得很好,因为你可以用任何选定的元素替换它,问题仍然是myFunc
未定义点击事件功能。
答案 0 :(得分:1)
事实证明,这个代码在IE8下运行得很好,问题在于插件(特别是Freemake YouTube下载器)。我在IE Developer Tools中使用了Call Stack按钮(非常有用)来查找我的函数之后调用的内容,并且我看到函数是从我之前假设的是jQuery的缩小版本调用的,但仔细观察它是对于我没有加载的版本。滚动到文件中(实际上不是一个文件,除了加载的JS块)我看到了一个自动安装了IE插件的YouTube下载程序的功能(我从不使用IE但它可能引起了其他冲突我会注意到如果我确实使用了它,所以去禁用那个插件,然后,一切都按预期工作。
为了确保它只是与插件本身的冲突,而不是他们嵌入的jQuery版本,我尝试自己加载该版本(1.8.3)并且它工作正常。