天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jQuery 事件隊列調(diào)整方法

大家都發(fā)現(xiàn),通過jQuery綁定事件是件非常容易的事情
復(fù)制代碼 代碼如下:
<TEXTAREA class=Javascript name=code rows=15 cols=50>$("a").click(function(){
    console.info("A");
    return false;
});
</TEXTAREA>

但是A事件綁定后,我發(fā)現(xiàn)我需要B事件來決定其是否觸發(fā),好辦,現(xiàn)在就改。
復(fù)制代碼 代碼如下:
<TEXTAREA class=Javascript name=code rows=15 cols=50>$("a").click(function(){
    console.info("B");
    return false;
});
$("a").click(function(){
    console.info("A");
    return false;
});
</TEXTAREA>

真的能夠阻止后面的click事件觸發(fā)嗎?事與愿違。
如果B事件需要通過異步調(diào)用來判斷A事件是否需要觸發(fā)呢?
復(fù)制代碼 代碼如下:
<TEXTAREA class=Javascript name=code rows=15 cols=50>$("a").click(function(){
    $.ajax({
        url:"b.html",
        success:function(msg){
            if(msg){
                console.info("pass");
                return true;
            }else{
                console.info("nopass");
                return false;
            }
        }
    });
});
$("a").click(function(){
    console.info("B");
    return false;
});
</TEXTAREA>

事實發(fā)現(xiàn)根本不可能,那怎么辦呢?
先說幾種思路:
將后綁定的事件通過另外一種觸發(fā),比如A事件是綁定在click上,那么B事件綁定在mouseover上,先觸發(fā)mouseover再通過它來阻止click事件。(后來經(jīng)過研究,發(fā)現(xiàn)這幾乎是不可能的事情)
將2個事件通過jquery的queue進行處理。(這個確實可以解決先后觸發(fā)的問題,但是現(xiàn)實的情況是項目中所有的事件綁定已經(jīng)全部寫好,目前需要每個按鈕事件前都加上1個判斷的AJAX請求。要不就是所有的按鈕事件全部重寫,要么另外尋找一條路)
深入jQuery的事件機制,獲得其事件的隊列,針對其事件隊列進行處理。
復(fù)制代碼 代碼如下:
<TEXTAREA class=Javascript name=code rows=15 cols=50>//我們先讓其默認綁定個事件,稱其為A事件
$("a").click(function(){
    console.info(1);
    return false;
});
//現(xiàn)在我們要讓后面綁定的B事件先觸發(fā),并且控制A事件是否觸發(fā)
//獲取對象a綁定的事件對象中的click事件
var event = $("a").data("events").click;
//因為這個a在我們的B事件中也需要用到,為了防止this對象的改變,因此特地聲明變量that保存
var that = $("a");
//下面就是B事件了,但是貌似好像沒有綁定啊
var B = function(){
    $.ajax({
        url:"b.html",
        success:function(msg){
            if(msg){
                console.info("pass");
                tt.call(that);
            }else{
                console.info("nopass");
            }
        }
    });
return false;
};
//關(guān)鍵對象,盡請對其多關(guān)注
var tt;
//關(guān)鍵代碼,盡請多關(guān)注
for(var i in event){
    tt = event[i];
    event[i] = B;//如果注釋此行,下面2行必須取消注釋。效果一樣,原理不同...
//delete(event[i]);
    //that.click(B);
    break;
}
</TEXTAREA>

問題貌似圓滿解決,但是AJAX的callback函數(shù)中的return,是否可以抓的到呢?

JavaScript技術(shù)jQuery 事件隊列調(diào)整方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女议员被泄裸照 | 丰满少妇69激情啪啪无码 | 久久99国产视频 | 青青草 久久久 | 国产不卡在线观看视频 | 99久久国内精品成人免费 | 好爽好深太大了再快一点 | 欧美精品一区二区在线电影 | 寂寞骚妇女被后入式抽插 | 国产成人亚洲精品老王 | 99免费观看视频 | 亚洲精品AV无码永久无码 | 欧美另类老少配hd | 精品国产麻豆AV无码 | 7756短视频 | 强奷乱码中文字幕熟女免费 | 轻点灬大ji巴太粗太双性高h | 国产精品你懂得 | 芳草地社区在线视频 | 伊人久久久久久久久久 | 99热在线免费播放 | 六月婷婷国产精品综合 | 久久视频这里只精品99热在线 | 色狐直播免费观看 | 接吻吃胸摸下面啪啪教程 | 日本学生VIDEOVIDEOS更新 日本性xxx | 嫩草成人国产精品 | 亚洲国语在线视频手机在线 | 国产 日韩 欧美 高清 亚洲 | 中国hdxxxx医院护士 | 97久久精品人人槡人妻人 | 一个人HD在线观看免费高清视频 | 欧美性XXXXX极品娇小 | 精彩国产萝视频在线 | 三级黄色高清视频 | 一本一本之道高清在线观看 | 国产国拍亚洲精品永久软件 | 国产欧美一区二区精品仙草咪 | 国产一区免费在线观看 | 国产精品久久久久久人妻香蕉 | 老师真棒无遮瑕版漫画免费 |