大佬教程收集整理的这篇文章主要介绍了jQuery UI可排序和live()点击问题 – 排序后需要点击两次才能点击进行注册,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<table id="test-table"> <tbody> <tr> <td class="handle"><div class="ui-icon ui-icon-arrowthick-2-n-s" /></td> <td class="clickycell"><a href="#">Testing 1</a></td> </tr> <tr> <td class="handle"><div class="ui-icon ui-icon-arrowthick-2-n-s" /></td> <td class="clickycell"><a href="#">Testing 2</a></td></td> <tr> <td class="handle"><div class="ui-icon ui-icon-arrowthick-2-n-s" /></td> <td class="clickycell"><a href="#">Testing 3</a></td></td> </tr> </tbody> </table>
在我的代码中,我使表可排序,并使用jQuery的live()将click事件绑定到可点击的项目,如下所示:
$(function() { /* Using live() because in my real code table rows are dynamically added. However,if I use click() instead,as in the commented-out code,it works fine,without any need to click twice. */ // $(".clickycell a").click(function() { $(".clickycell a").live('click',function() { alert("Successful click"); return false; }); $("#test-table tbody").sortable({ handle: "td.handle",/* Use the draggy handle to move,not the whole row */ cursor: "move" }); });
我正在使用live(),因为行可以动态地添加到实际代码中的表中.
我的问题是:如果我在排序之前点击任何可点击的项目,它们工作正常.但是,在用户拖动行以重新排序它们之后,我必须单击两次以进行单击才能注册.在第二次单击之后,可点击的项目将返回“正常”,只需单击一次,直到下次拖动行.
如果我使用click()而不是live() – 就像在注释掉的代码中那样 – 那么单击一下就可以正常工作,但我更喜欢使用live(),就像我说的那样.而且我很好奇为什么它不起作用.
有a live jsFiddle example here.尝试将一行拖到另一个位置,然后单击任何“测试…”链接.至少在Firefox中,我需要点击两次才能获得“成功点击”提醒.
有任何想法吗?
以上是大佬教程为你收集整理的jQuery UI可排序和live()点击问题 – 排序后需要点击两次才能点击进行注册全部内容,希望文章能够帮你解决jQuery UI可排序和live()点击问题 – 排序后需要点击两次才能点击进行注册所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。