JQ事件,如何解绑带参数的句柄函数?

使用场景:
元素在同一个事件上绑定了两个不同的动作,如何在后续的操作中,只解绑其中一个动作?

附上代码:

let el = $('.box');

const

    mx = (e) => {

        console.log(`event.pageX : ${e.pageX}`);

    }, my = (e) => {

        console.log(`event.pageY : ${e.pageY}`);

    };


el.on({

    'click': () => {

        console.log(`element has remove handle 'mx'`);

        //移除mx句柄

    },

    'mouseenter': (e) => {

        mx(e);

        my(e);

    }

});

描述:如代码所示,元素"el"在"mouseenter"事件上绑定了两个动作,分别打印事件的pageX,pageY.

如何在点击元素后,解绑打印pageX的"mx"句柄,而不影响"my"句柄?

求各路大神指点.


繁花不似锦
浏览 427回答 1
1回答

哔哔one

let el = $('.xiaoyi-header');const    mx = (e) => {       if(!el.mxRemoved)            console.log(`event.pageX : ${e.pageX}`);    }, my = (e) => {        console.log(`event.pageY : ${e.pageY}`);    };el.on({    'click': () => {        console.log(`element has remove handle 'mx'`);        el.mxRemoved = 1;    },    'mouseenter': (e) => {        mx(e);        my(e);    }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript