3

我正在将事件动态绑定到文本元素。这是我的代码:

<input type="text" id="myTxt" />

<script type="text/javascript">
    function attachEvent1(element){
        element.keyup(function(){
            console.log("Event:"+event.keyCode);
        });
    }
    function attachEvent2(element){
        element.keyup(function(){
            console.log("Value:"+this.value);
        });
    }   
    attachEvent1($('#myTxt'));
    attachEvent2($('#myTxt'));      
</script>

我需要它,我希望第二个事件处理程序(由 attachEvent2 附加)首先被调用,即使它是在 attachEvent1 之后绑定的。可以在 jQuery 中使用吗?

4

1 回答 1

0

像这样的东西怎么样:

function handler1()
{
  console.log("Event:"+event.keyCode);
}

function handler2()
{
  console.log("Value:"+this.value);
}

function attachEvent1(element)
{
  element.keyup(handler1);
}

function attachEvent2(element)
{
  element.unbind('keyup', handler1);
  element.keyup(handler2);
  element.bind('keyup', handler1);
}   

attachEvent1($('#myTxt'));
attachEvent2($('#myTxt'));

如果您想要更高级的东西,您可以保留处理程序列表,并在循环中进行重新绑定等,但是重新绑定事件的基本思想具有预期的效果。

于 2012-12-06T03:56:42.363 回答