我有一個包含幾個元素的 div。我想制作一個事件來處理單擊此 div 的任何元素,除了特定元素。
<div id="mydiv">
<img id="myimage" src="myimage.gif"/>
<img id="myimage2" src="myimage2.gif"/>
<img id="myimage3" src="myimage3.gif"/>
</div>
<script>
document.getElementById('mydiv').addEventListener('click', function() {
// if element is not the one with id=myimage3 do something
alert('You clicked on image1 or image2');
});
</script>
uj5u.com熱心網友回復:
將“事件”作為引數傳遞給回呼函式。
將警報包裝在 if 陳述句中,檢查 event.target.id !== 'myimage3'。
uj5u.com熱心網友回復:
可以通過幾種不同的方式識別 HTML 中的元素:byclass和 by id。Classes 是可以選擇、設定樣式和進一步操作的元素的集合,而ids 是唯一的,應該特定于單個元素。由于您想排除特定元素的選擇,因此您需要將所選元素的 id 與您希望排除的元素的 id 進行比較。
這可以通過使用event.target屬性的@Nick 的回答中的回呼來完成。
本質e.target上它的作用是獲取觸發事件的元素及其所有各種屬性,例如。tagName和style。
- https://developer.mozilla.org/en-US/docs/Web/API/Event/target#example
uj5u.com熱心網友回復:
使用回呼event的引數并檢查其目標屬性不是:idmyimage3
document.getElementById('mydiv').addEventListener('click', function(e) {
if (e.target.id != 'myimage3')
alert('You clicked on image1 or image2');
});
<div id="mydiv">
<img id="myimage" src="https://via.placeholder.com/100?text=image1" />
<img id="myimage2" src="https://via.placeholder.com/100?text=image2" />
<img id="myimage3" src="https://via.placeholder.com/100?text=image3" />
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/464119.html
標籤:javascript
上一篇:MySQL通配符與正則運算式
