我有这样的东西
<div id="id">
<button name="one">One</button>
<button name="two">Two</button>
</div>
var testClass = {
initialise: function (a, b) {
jQuery('#id button').each( function(){
if (jQuery(this).name=='one'){
jQuery(this).click( function ( event ) {
//do something else
testClass.whenClicked ( data: {a:a, b:b }, target: this ); // how do I pass event into whenClicked here??
});
}else{
jQuery(this).click(data: {a:a, b:b }, testClass.whenClicked );
}
}
},
whenClicked: function (event){
event.preventDefault();
alert(event.data.a);
};
}
testClass.initialise('a','b');
当我单击"One"时,如何从条件语句中调用现有的事件处理程序函数并传递事件对象,以便 event.preventDefault() 将起作用。
相反,我目前得到的是"对象没有函数 eventDefault",因为 when Clicked 中的事件是这个。
我在这里设置了一个小提琴:http://jsfiddle.net/5TbVK/1/
我认为你把它复杂化了。你想要调用该函数。
this.whenClicked();
不绑定基于第一次点击的另一个点击事件。
试试这个:
http://jsfiddle.net/5TbVK/4/