簡體   English   中英

將錨定標記的href設置為一個值,使其對頁面上的javascript / jquery方法無響應

[英]set an anchor tag's href to a value to make it unresponsive to javascript/jquery methods on the page

所以我有一個jquery函數,它會在點擊錨tag時執行某些操作。現在,我想使按鈕在隨后的單擊中對jquery不響應。 我該怎么辦? 我正在做的是在第一次單擊時更改錨標記的innerHTML並進行AJAX調用,在此期間,當用戶再次單擊同一錨標記時,我希望什么都不會發生。

這就是我通過jquery處理點擊的方式

  $('.profileEdit label a').live('click', function () {
     // do something
  });

如果我了解您想要的內容,則可以在ajax調用之前刪除“ onclick”屬性,並在結束時再次進行設置(成功或失敗)。

@EDIT:最終解決方案代碼

function update(){
$("#bb").html('Updating');
$("body").off('click',"#bb");
 $.ajax({
            type: "POST",
            url:"profileUpdate.asmx/HelloWorld",
            data: "{ 'value': '" + document.getElementById(string).value + "'" + ",'column':'" + string  + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                defaultSetter();                  
            },
            error: function (msg) {
                defaultSetter();
            }
        });

}

function defaultSetter(){
    $("#bb").html("Test");
    $("body").on('click','#bb', update);
}

$(document).ready(function(){
    defaultSetter();
});

jsfiddle: http : //jsfiddle.net/V3AAF/

bb元素是一個按鈕,而不是錨點

如果您只希望操作在第一次單擊時發生一次,是否可以不使用one()

$('.profileEdit label a').one('click', function () {
     alert('This will only alert on the first click');
});

如果您發生了進一步點擊該元素的處理程序,則只需使用return false,以防止第一次點擊后發生任何事情:

$('a').on('click', function () {
    return false;
    alert('first time!');
});

jsFiddle示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM