我正在嘗試創建一個包含複選框以及其他輸入元素的Web表單,並且我想向用戶提供用於檢查和取消選中框的單擊封裝div時元件。嵌套元素中的多個事件
下面是HTML的例子:
<div class="line">
<input type="checkbox" />
<p>No, I don't want more newsletters</p>
</div>
夠簡單。現在,當用戶點擊複選框時,它會被選中/取消選中,事件會冒泡到div.line元素,這可能會改變其背景顏色或其他東西。現在,正如我所說的,我還希望用戶能夠通過單擊div來操縱複選框的值。聽起來很簡單;我們只是添加一個觀察者到div.line元素,捕獲事件並切換複選框的值。那麼,這是問題: 當你點擊複選框時,它的值被切換。但是,由於它駐留在div中,因此您還可以單擊div,觸發其觀察者,然後再次切換複選框值。所以你最終在你開始的地方。發生兩次切換。
我一直在破壞我的大腦,嘗試所有不同的方法。自定義事件,自定義元素標誌...在單個函數運行期間根本沒有辦法知道它是單擊的複選框還是周圍的div元素。但是一定有辦法,我看不到它。
有沒有人有線索?順便說一句,我正在使用Prototype。
你真的想要一個'