我有以下代码;
$("#myID").click(function () {
//do something
})
在某些时候,网页另一部分的用户操作需要更改点击时发生的操作,例如
$("#myID").click(function () {
//do something different
})
我的问题是,这样做的正确/最有效的方法是什么?目前我只是在实现上面的第二块代码,但这会导致一些奇怪的行为吗?也就是说,点击后会有两种不同的动作?或者第二个代码块是否覆盖了第一个代码。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以随时取消绑定点击功能:http://api.jquery.com/unbind/
答案 2 :(得分:0)
对,他们“堆叠”。即$(“#myID”)将维护一个事件处理程序列表,并在单击时执行。
如果您不再需要原始处理程序,则需要使用$("#myID").off('click')
取消绑定它,或者如果您使用旧版本的jquery,$("#myID").unbind('click'
)`。 http://api.jquery.com/unbind/
答案 3 :(得分:0)
答案 4 :(得分:0)
您可以添加全局变量isAnotherEvent = false
,然后检查click
事件您需要执行的代码部分,执行另一部分只需创建isAnotherEvent = true
var isAnotherEvent = false;
$("#myID").click(function () {
if(!isAnotjerEvent){
//do something
} else {
//do something else
}
})
$("#btnChangeEvent").click(function(){
isAnotherEvent = true;
}