我使用this sample,但我希望使用最新版本的Jquery。 我注意到在使用Jquery-ui 1.9.0或更高版本时,对话框不再出现了。它可以与演示中提供的原始版本(1.0.8)一起使用。 如果我使用Jquery 2.2.1(Jquery而不是Jquery -ui)而不是1.4.2
,也是一样的我尝试过的唯一更改是将$('a.delete').live('click',function(){
替换为$('delete').on('click', 'a', function(){
,以便补救已弃用的.live
即使在查看Jquery和Jquery更改日志之后,我也无法弄清楚还有什么需要更改。 Jquery-migrate工具没有任何错误。
该脚本的目标是在单击图标时删除一行。应显示一个对话框,邀请用户确认/取消。
答案 0 :(得分:1)
$('delete').on('click', 'a', function(){})
等同于
$('a.delete').live('click',function(){})`
这些做了两件事。
您的.live()
实际上正在将事件附加到document
,然后检查实际点击的元素是否为子<a class="delete">
标记。
在您的.on()
示例中,您尝试将事件绑定到<delete>
元素,并检查触发的实际元素是否为子{{1 }}。这显然不是你想要的。
如果您的元素被动态添加到页面中,那么您可以尝试:
<a>
这与您的$(document).on('click', 'a.delete', function(){});
相同。
答案 1 :(得分:0)
为什么要更改选择器?
$('a.delete').live('click',function(){})
应更改为:
$('a.delete').on('click',function(){})
或
$('a.delete').click(function(){})