【问题标题】:jquery call event handler function within other event handlerjquery在其他事件处理程序中调用事件处理程序函数
【发布时间】:2013-10-23 12:06:11
【问题描述】:

我有这样的事情

<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”,因为 whenClicked 中的事件就是这个。

我在这里设置了一个小提琴:http://jsfiddle.net/5TbVK/1/

【问题讨论】:

    标签: javascript event-handling onclick jquery


    【解决方案1】:

    我认为你过于复杂了。 你想调用这个函数。

      this.whenClicked();
    

    不基于第一次点击绑定另一个点击事件。

    试试这个:

    http://jsfiddle.net/5TbVK/4/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多