jQuery技术:当jQuery .attr(’onclick’)函数返回一个事件对象?

我只是在FireBug中调试jQuery并且想知道返回值

$('.a-selector').attr('onclick'); 

事实certificate它是一个onclick(event) ,但我之前已经读过一些代码,作者只是像这样使用它:

 $('.a-selector').attr('onclick').replace(..., ...); 

这意味着它可以被视为一个String对象。 但是当我像这样使用它时报告错误。

我的jQuery版本是1.5.2。 所以我想知道jQuery何时更改了API以及更改HTML中定义的onclick事件的最佳方法是什么。

    当jQuery .attr('onclick')函数返回一个事件对象?

    在jQuery <1.6。 这是因为在1.6之前, .attr()在检索属性和属性之间进行了混合,新版本删除了那层巫术,现在有适当的方法来检索属性( .attr )和属性( .prop )。

    这是展示上述内容的小提琴 。

    PS。 顺便说一下,它不返回事件对象,而是返回一个充当事件处理程序的函数对象。 =]


    此外,还有两个侧面注意事项:您应该始终将jquery升级到最新版本(当前为1.8.3),它具有更多function,更好的性能和许多错误修复。

    当你有jQuery时,你不应该真正使用onclick ,这违反了结构(html)和行为(js)分离的Web 2.0标准 – jQuery本身提供了附加方法的跨浏览器处理程序.on() (对于jQuery 1.7+)和.bind / .delegate / .live用于旧版本。

    我假设您要更改某个元素的onclick属性的值。

     $('.a-selector').attr('onclick',''); // leave 2nd parameter blank if you want to remove its value 

    要么

     $('.a-selector').attr('onclick','myfunc()'); 

    ###############################编辑

    您可以按如下方式定义您的function:

      

    您是否有可能重置点击事件?

     $('.a-selector').unbind('click').click(function() { // new function }); 

    替换javascript代码中的文本通常不是javascript应该做的。 我认为有更好的解决方案可行。

      以上就是jQuery教程分享当jQuery .attr(’onclick’)函数返回一个事件对象?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/547298.html

      (0)
      上一篇 2021年1月11日
      下一篇 2021年1月11日

      精彩推荐