gpt4 book ai didi

javascript - 如何替换 mootools 1.3 中的 bindwithevent

转载 作者:行者123 更新时间:2023-11-29 17:31:07 25 4
gpt4 key购买 nike

我想知道如何替换 Mootools 1.3 中的 bindWithEvent 函数,文档中的示例非常基础:

Element.addEvent('click', function(e){
myFunction.bind(bind, [e]);});

但是,如果我需要将参数传递给事件处理程序怎么办?这是 Mootools 1.2 中的方式:

Element.addEvent('click', function(e, param) { e.stop(); alert(param) }.bindWithEvent(this,['text']);

关于如何在 Mootools 1.3 中替换它的任何想法。

更新:我发现了一个非常丑陋的解决方案,但至少在我找到一个内置解决方案时它是有效的:

Element.addEvent('click', function(e){ e.stop(); this.bind.myFunc(this.param);}.bind({bind:this, param: 'text'}));

最佳答案

el.addEvent('click', function(event){
myFunction(event, param1, param2); // can use .pass and bind this again
}.bind(this));

虽然很难解释为什么它被弃用了。

类上下文中的示例:

var foo = new Class({
initialize: function(el) {
document.id(el).addEvent('click', function(event){
this.foo(event, "hello");
}.bind(this));
},
foo: function(event, what) {
console.log(event, this); // this is the class instance
alert(what);
}
});

new foo("foo");

关于javascript - 如何替换 mootools 1.3 中的 bindwithevent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4062839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com