簡體   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