[英]JQuery Click event is not working in Firefox and Safari Browsers
我需要在圖像上放置注釋標記,當用戶單擊每個注釋時,需要為圖像顯示相應的注釋消息。
它在Chrome瀏覽器(IOS和Android)和台式機的chrome瀏覽器中均能正常運行,但在移動和台式機的Safari和Firefox瀏覽器中均無法運行。
腳本
$('.announation').each(function(i) {
$('.announation').eq(i).on('click touchstart', function(e) {
$(
'.one,.two,.three,.four,.five,.six,.seven,.eight,.nine,.ten,.ele'
).eq(i).css({
top: 0,
left: document.getElementById(e.srcElement.id).offsetLeft - 380
}).show();
document.getElementById(e.srcElement.id).innerText = "x";
$('#' + e.srcElement.id).addClass("active");
});
});
HTML:
<div class="annotationsmark">
<div class="announation" alt="one" id="oneA">+</div>
<div class="announation" alt="two" id="twoA">+</div>
</div>
<div id="messages">
<div class="one">One</div>
<div class="two">two</div>
</div>
我嘗試了多種方法:
沒用:
$(document.body).on( "click touchstart", ".announation", function() { });
沒用:
$('body .announation').eq(i).on('click touchstart', function(e){});
沒用:
$('.annotationsmark').on('click', '.announation', function(e) {
var i=$(this).index();
});
問題可能是由於srcElement
。Firefox和Safari可能不支持此功能。 嘗試將srcElement
的target
e.srcElement.id
為e.target.id
或者,您可以創建一個變量並使用該變量
var target = event.target || event.srcElement;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.