0
使用此代碼,Firefox僅在按鈕單擊時發出警報。對於Chrome,這兩個警報都會顯示。嵌套的jQuery在Chrome和Firefox中單擊事件不同
我希望行爲與Chrome中的行爲相同,其中點擊時(由Firefox忽略)會觸發img
事件。
注:我的實際代碼更長更實用。我將它提煉成了一小段代碼,以隔離導致我在別處痛苦的根源行爲。
<html>
<head>
<script src="http://app.essets.com/system/application/js/jquery/jquery.js" type="text/javascript"></script>
<script type='text/javascript'>
$(document).ready(function() {
$('button').click(function(){
alert('button clicked');
});
$('img').click(function(){
alert('img clicked');
});
});
</script>
</head>
<body>
<button type='button'>
<img id="1" class="moduleratingstar" src="http://app.essets.com/images/site/transactions.png">
Some text
</button>
</body>
</html>
該規範說明按鈕不允許包含交互式內容。我認爲這包括任何帶有點擊處理程序的節點。因此,大多數瀏覽器在查找點擊處理程序時會忽略嵌入按鈕中的節點。如果您嘗試在按鈕內放置「a」元素,則會看到相同的問題 - 單擊該鏈接可在Chrome和Safari中使用,但不會在Firefox或IE中使用。 – Barmar
這很有道理。我會改變它是一個風格的股利。感謝您的幫助。 –
謝謝,@Barmar。爲了完整性,它在Opera中也不起作用。 – Andre