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();
不基于第一次单击绑定另一个单击事件

试试这个: