如何将属性发送到自制活动?

时间:2013-06-21 13:10:14

标签: javascript jquery events

如何将属性发送到自制活动? 我尝试这样的事情......也许存在另一种解决这个功能的结构?

var mme=document.getElementById('mme');

mme.event1=function(prop){
 alert(prop.property);
}
mme.event2=function(prop){
 alert(prop.property);
}
////////
mme.eventN=function(prop){
 alert(prop.property);
}

$(mme).trigger('eventX',{property:'Hello World!'});

2 个答案:

答案 0 :(得分:2)

你可以这样做 -

$('#mme').on('event1', function (e) {
    console.log(e.hello);
});

var e = $.Event("event1", {
    hello: "Hello"
});

$('#mme').trigger(e);

演示------> http://jsfiddle.net/fh2eC/

答案 1 :(得分:1)

看起来你想要两个事件和方法。

// Native Method
mme.event1 = function(argument) {
    alert(argument);
};

// Native Event Handler
mme.onevent1 = function(event, argument) {
    alert(argument);
};

// jQuery Event Handler
$(mme).on("event1", function(event, argument) {
    alert(argument);
});

当你触发一个事件时,jQuery将调用jQuery Handler,Native Handler,然后是Native方法。只有处理程序才会传递参数。调用本机方法时不带参数。

来自jQuery v1.9.1,第3018行:

elem[ type ]();

type是事件的名称。

这个jsFiddle显示所有3个被调用: http://jsfiddle.net/nV8qg/2/