0
時觸發我有一個Backbone
觀點,我已經附加了一些事件,以它:防止後臺事件的點擊疊加DIV
var View1 = Backbone.View.extend({
initialize: function() {
// ...
},
events: {
"touchend .elem": "callback",
// ...
}
render: function() {
// ...
}
});
現在,當我渲染View1
另一個視圖(View2
)呈現第一,這有覆蓋View1
元素的div
。 這div
有以下CSS
屬性:
.overlay {
background-color: rgba(0, 0, 0, 0.22) !important;
z-index: 500;
width: 100%;
height: 100%;
top: 0;
left: 0;
position: fixed;
}
View2
幾秒鐘後消失。 問題是,如果我在覆蓋圖消失之前單擊它,覆蓋圖下的事件就會被觸發,所以在我的示例中,將會調用callback
函數。
我試圖這樣做是爲了一個假事件附加到View2
:
var View2 = Backbone.View.extend({
initialize: function() {
// ...
},
events: {
// ...
"touchend .overlay": "overlayCallback"
},
overlayCallback: function(event) {
if (event) {
event.preventDefault();
event.stopImmediatePropagation();
event.stopPropagation();
}
return false;
},
render: function() {
// ...
}
});
,但它並沒有解決我的問題。
如何防止View1
觸發事件當用戶點擊View2
覆蓋div
?
感謝
我們不知道您的DOM的結構。你應該提供一個[mcve] –
@TJ,我認爲這不是必須的,因爲我只需要一種方法來禁用覆蓋div下的所有div的觸摸事件。謝謝 – Frank
這完全取決於你在*下的意思。它可以*在眼睛下方,只是在視覺上。我們需要知道DOM中這些元素的關係,以及繼續進行的整個CSS。總之一個[mcve] –