Javascript .live不是rails 3.2.11中的函数错误
我在跟踪 这里我的档案包括Javascript .live不是rails 3.2.11中的函数错误,javascript,jquery,ruby-on-rails-3,ruby-on-rails-3.2,Javascript,Jquery,Ruby On Rails 3,Ruby On Rails 3.2,我在跟踪 这里我的档案包括 轨道3.2.11 sqlite-3 将分页为“3.0” jquery rails,'2.2.1' Application.js文件包括 //=需要jquery //=需要jquery\u ujs application.js中的脚本 $(function () { $('#products th a').live('click', function () { $.getScript(this.href); return false; });
- 轨道3.2.11
- sqlite-3
- 将分页为“3.0”
- jquery rails,'2.2.1'
$(function () {
$('#products th a').live('click', function () {
$.getScript(this.href);
return false;
});
})
进入控制台时出错
$("#products th a").live is not a function
我搜索了一下,但没有找到任何解决办法。谁能帮我一下我到底犯了什么错误
谢谢你我猜你使用的是jQuery 1.9,它已经被删除了(在几个版本都不推荐使用它之后)。这样做可以获得与
live
相同的效果:
$(function () {
$(document).on('click', '#products th a', function () {
$.getScript(this.href);
return false;
});
});
…将单击处理程序附加到document
但仅当单击开始或通过匹配选择器的元素启动或冒泡时才触发它(这就是live
所做的)
但是live
被弃用和删除是有原因的(事实上有几个原因),其中一个原因是将click
处理程序一直放在document
(尽管这种情况非常罕见)。例如,除非您删除并重新创建产品
元素,否则您可能需要:
$(function () {
$('#products').on('click', 'th a', function () {
$.getScript(this.href);
return false;
});
});
这告诉jQuery将点击处理程序放在#products
上,但只有当点击事件在与选择器匹配的元素上启动或冒泡时才会触发它。我猜您使用的是jQuery 1.9,它已被删除(在几个版本中被弃用之后)。这样做可以获得与live
相同的效果:
$(function () {
$(document).on('click', '#products th a', function () {
$.getScript(this.href);
return false;
});
});
…它将单击
处理程序附加到文档
,但仅当单击在与选择器#产品匹配的元素上启动或冒泡时才会触发它(这就是live
所做的)
但是live
被弃用和删除是有原因的(事实上有几个原因),其中一个原因是将click
处理程序一直放在document
(尽管这种情况非常罕见)。例如,除非您删除并重新创建产品
元素,否则您可能需要:
$(function () {
$('#products').on('click', 'th a', function () {
$.getScript(this.href);
return false;
});
});
这告诉jQuery将点击处理程序放在#products
上,但只有当点击事件在与选择器匹配的元素上启动或冒泡时才会触发它。您使用的是哪个版本的jQuery因为live()
在jQuery 1.9中被弃用和删除,您可能应该使用on()
@jonathan:Am使用jquery rails,'2.2.1'。我是否需要再次显式添加jquery文件。@rds:yea,因为它也可能取决于application.html或jquery rails gem也可以通过在Javascript中添加alert($().jquery)来检查您的版本您使用的是哪个版本的jquery既然live()
在jquery 1.9中被弃用和删除,您可能应该使用on()
@jonathan:Am使用jquery rails,'2.2.1'。是否需要再次显式添加jquery文件。@rds:yea,因为它也可能取决于application.html或jquer rails gem。请在javascript中添加alert($().jquery)来检查您的版本