繁体   English   中英

jQuery:将onClick属性转换为jQuery click

[英]JQuery: Convert onClick attribute to to jQuery click

我有一个包含100多个超链接的网页,所有超链接都设置了onClick和href属性。 这在大多数情况下都有效,但是我遇到了一个问题,例如IE7之类的浏览器在onClick属性上使用href属性。 我需要将onClick属性设置为默认属性,以便在单击时加载我的函数。 我想我可以使用jQuery轻松完成此操作,并将click事件设置为onClick属性值,但是我没有任何运气,我将如何处理? 现在,以下代码将点击事件的吨设置为单个超链接。 单击超链接时,我可以观看针对超链接多次发送的GET事件。

    $("a[href*='/RightSizeOption/NewForm.aspx']").click(function() {
        OpenPopUpPage($(this).attr('href'), RefreshPage); 
        return false;
    });

似乎没有任何意义,除非确切的点击处理程序实际上被绑定了多次。 绑定点击的一种更好的方法是使用委托(也可以使用preventDefault代替return false以获得良好的效果):

$('#myParent').delegate("a[href*='/RightSizeOption/NewForm.aspx']", "click", function(event) {
  event.preventDefault();
  OpenPopUpPage($(this).attr('href'), RefreshPage); 
});

#myParent是任何预期不会被破坏的祖先元素; 甚至可以是包装器div或“ body”,尽管最好选择最接近的,不会被破坏的共同祖先。

但是让我担心的是多重绑定。 例如,如果您的示例代码在一个函数中,则该函数将被多次触发。

我也不确定您要传递给OpenPopUpPage的“ RefreshPage”。 我不得不看一下OpenPopUpPage所做的事情,甚至可能会引起猜测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM