var action = 'click';
if (action == 'click') {
$('#element').on(action, function() {
// do something...
})
} else if (action == 'mouseenter') {
$('#element').on(action, function() {
// do something completely different...
})
}
只要action
發生變化,事件就會根據舊的動作關閉;它不會動態改變。我也試過:jQuery不允許動態事件偵聽器
$('#element').on(action, function() {
if (action == 'click') {
// do something...
} else if (action == 'mouseenter') {
// do something else...
}
});
爲smart snowflakes
:我需要一個元素根據要differenly處理什麼action
,不是同時進行的。客戶端可以更改action
本身。
編輯#2:我沒有試圖根據元素上使用的事件得到不同的結果。如果客戶端選擇了「播放模式」,則操作將設置爲mouseenter,在這種情況下,#element不應該是可點擊的,並且只能在徘徊時操作!
我的回答是,只是不是這樣......你其實並沒有動態地添加事件監聽器,你只需添加邏輯運算符絕對沒有理由。 – ryan0319
ryan0319,那麼正確的做法是什麼? – PyRoss
@PyRoss你需要編輯這個問題,使其更清楚你想要的結果是什麼。 –