这里我的gemfile包含
Application.js文件包含
application.js中的// = require jquery
// = require jquery_ujs
脚本
$(function () {
$('#products th a').live('click', function () {
$.getScript(this.href);
return false;
});
})
进入控制台时出错
$("#products th a").live is not a function
我搜索了但我找不到任何解决方案。任何人都可以帮我解决我在这里犯下的实际错误
谢谢
答案 0 :(得分:4)
我的猜测是你正在使用jQuery 1.9,它删除了live
(在多个版本被弃用之后)。您可以获得与live
相同的效果:
$(function () {
$(document).on('click', '#products th a', function () {
$.getScript(this.href);
return false;
});
});
...它将click
处理程序附加到document
,但只有在点击开始或通过与选择器#products th a
匹配的元素时才触发它(这是{{1}确实)。
但是live
已被弃用并删除了 (实际上是其中几个),其中一个原因是放置live
处理程序几乎不是最好的一直到click
(尽管可能是极少数情况下)。除非您正在删除并重新创建document
元素,否则您可能需要:
products
告诉jQuery将$(function () {
$('#products').on('click', 'th a', function () {
$.getScript(this.href);
return false;
});
});
处理程序放在click
上,但只有在点击事件开始或通过与#products
选择器匹配的元素冒泡时才触发它。