第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用addEventListener獲取附加到節(jié)點(diǎn)的事件偵聽(tīng)器

使用addEventListener獲取附加到節(jié)點(diǎn)的事件偵聽(tīng)器

白衣非少年 2019-12-18 16:41:27
它們都沒(méi)有回答如何使用創(chuàng)建連接到節(jié)點(diǎn)的事件偵聽(tīng)器的列表addEventListener,而不addEventListener在創(chuàng)建事件偵聽(tīng)器之前修改原型。VisualEvent不會(huì)顯示所有事件偵聽(tīng)器(特定于iPhone的事件偵聽(tīng)器),而我想(以某種方式)以編程方式執(zhí)行此操作。
查看完整描述

3 回答

?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

Chrome DevTools,Safari Inspector和Firebug支持getEventListeners(node)。


查看完整回答
反對(duì) 回復(fù) 2019-12-18
?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

你不能


獲取所有附加到節(jié)點(diǎn)的事件偵聽(tīng)器列表的唯一方法是攔截偵聽(tīng)器附件調(diào)用。


DOM4 addEventListener


說(shuō)


將事件偵聽(tīng)器追加到事件偵聽(tīng)器的關(guān)聯(lián)列表中,該事件偵聽(tīng)器的類(lèi)型設(shè)置為type,將偵聽(tīng)器設(shè)置為偵聽(tīng)器,并將捕獲設(shè)置為捕獲,除非該列表中已經(jīng)存在具有相同類(lèi)型,偵聽(tīng)器和捕獲的事件偵聽(tīng)器。


意味著將事件偵聽(tīng)器添加到“事件偵聽(tīng)器列表”中。就這樣。沒(méi)有關(guān)于此列表應(yīng)該是什么以及您應(yīng)該如何訪(fǎng)問(wèn)它的概念。


查看完整回答
反對(duì) 回復(fù) 2019-12-18
?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于沒(méi)有本地方法可以執(zhí)行此操作,因此我發(fā)現(xiàn)的侵入性較?。ú灰砑尤魏巍芭f”原型方法):


var ListenerTracker=new function(){

    var is_active=false;

    // listener tracking datas

    var _elements_  =[];

    var _listeners_ =[];

    this.init=function(){

        if(!is_active){//avoid duplicate call

            intercep_events_listeners();

        }

        is_active=true;

    };

    // register individual element an returns its corresponding listeners

    var register_element=function(element){

        if(_elements_.indexOf(element)==-1){

            // NB : split by useCapture to make listener easier to find when removing

            var elt_listeners=[{/*useCapture=false*/},{/*useCapture=true*/}];

            _elements_.push(element);

            _listeners_.push(elt_listeners);

        }

        return _listeners_[_elements_.indexOf(element)];

    };

    var intercep_events_listeners = function(){

        // backup overrided methods

        var _super_={

            "addEventListener"      : HTMLElement.prototype.addEventListener,

            "removeEventListener"   : HTMLElement.prototype.removeEventListener

        };


        Element.prototype["addEventListener"]=function(type, listener, useCapture){

            var listeners=register_element(this);

            // add event before to avoid registering if an error is thrown

            _super_["addEventListener"].apply(this,arguments);

            // adapt to 'elt_listeners' index

            useCapture=useCapture?1:0;


            if(!listeners[useCapture][type])listeners[useCapture][type]=[];

            listeners[useCapture][type].push(listener);

        };

        Element.prototype["removeEventListener"]=function(type, listener, useCapture){

            var listeners=register_element(this);

            // add event before to avoid registering if an error is thrown

            _super_["removeEventListener"].apply(this,arguments);

            // adapt to 'elt_listeners' index

            useCapture=useCapture?1:0;

            if(!listeners[useCapture][type])return;

            var lid = listeners[useCapture][type].indexOf(listener);

            if(lid>-1)listeners[useCapture][type].splice(lid,1);

        };

        Element.prototype["getEventListeners"]=function(type){

            var listeners=register_element(this);

            // convert to listener datas list

            var result=[];

            for(var useCapture=0,list;list=listeners[useCapture];useCapture++){

                if(typeof(type)=="string"){// filtered by type

                    if(list[type]){

                        for(var id in list[type]){

                            result.push({"type":type,"listener":list[type][id],"useCapture":!!useCapture});

                        }

                    }

                }else{// all

                    for(var _type in list){

                        for(var id in list[_type]){

                            result.push({"type":_type,"listener":list[_type][id],"useCapture":!!useCapture});

                        }

                    }

                }

            }

            return result;

        };

    };

}();

ListenerTracker.init();


查看完整回答
反對(duì) 回復(fù) 2019-12-18
  • 3 回答
  • 0 關(guān)注
  • 579 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)