Javascript jquery在其他事件处理程序中调用事件处理程序函数
我有类似的东西Javascript jquery在其他事件处理程序中调用事件处理程序函数,javascript,event-handling,onclick,jquery,Javascript,Event Handling,Onclick,Jquery,我有类似的东西 <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(){
<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');
一个
两个
var testClass={
初始化:功能(a、b){
jQuery(“#id按钮”)。每个(函数(){
if(jQuery(this).name=='one'){
jQuery(this).单击(函数(事件){
//做点别的
testClass.whenClicked(数据:{a:a,b:b},目标:this);//如何将事件传递到whenClicked here??
});
}否则{
单击(数据:{a:a,b:b},testClass.whenClicked);
}
}
},
单击时:功能(事件){
event.preventDefault();
警报(event.data.a);
};
}
testClass.initialise('a','b');
当我单击“One”时,如何从条件语句中调用现有的事件处理程序函数并传递事件对象,以便event.preventDefault()能够工作
相反,我现在得到的是“object has no function eventDefault”,因为单击时内部的事件是这样的
我在这里摆好了一把小提琴:我想你把它复杂化了。 您想调用这个函数
this.whenClicked();
不基于第一次单击绑定另一个单击事件
试试这个:
我认为你把它复杂化了。 您想调用这个函数
this.whenClicked();
不基于第一次单击绑定另一个单击事件
试试这个: