正如標題所述,我想為可拖動父元素的子元素禁用“拖動”事件。這聽起來像是一個簡單的問題,但我嘗試了不同的方法但沒有成功。到目前為止我嘗試了什么(沒有任何效果):
- 閱讀
event.target或類似的資料以找到孩子并阻止它(我找不到孩子) z-index在css中將父級設定為0
這是我的代碼示例。您必須先將元素拖放到欄位中。當您在新輸入欄位中寫入內容并嘗試突出顯示它時,將觸發拖動事件。這是我遇到的主要問題: https ://jsfiddle.net/5nt7jqyf/
jquery ui draggable 我不會有這個問題,因為 event.target 充??滿了子參考,但我不想使用庫并堅持使用本機 html5 解決方案。
uj5u.com熱心網友回復:
draggable您可以在目標觸發事件時臨時禁用該屬性input,為此您應該添加body一個pointerdown偵聽器并在那里禁用該屬性,還有一個pointerup偵聽器,您將在其中重新啟用它:
pointerdown: function(e) {
if (e.target.tagName === 'INPUT')
jQuery(this).attr('draggable', null);
},
pointerup: function(e) {
if (!jQuery(this).attr('draggable'))
jQuery(this).attr('draggable', true);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/455100.html
標籤:javascript jQuery
上一篇:如何制作流暢的方塊影片?
下一篇:從if函式內部更改全域變數
