我正在动态地将事件绑定到文本元素。这是我的代码:
<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中可以吗?
答案 0 :(得分: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'));
如果你想要更高级的东西,你可以保留一个处理程序列表,并在循环中进行重新绑定等,但这种重新绑定事件的基本思想具有预期的效果。