我有這個簡單的代碼:試圖讓響應點擊時件
$(document).ready(function(){
$(".map-marker").click(function(){
console.log("clicked");
var latitude = $(this).data("data-latitude");
});
});
而且我有一個HTML元素:
<img class="map-marker" data-latitude="50.350520295349" data-longitude="50.350520295349" src="assets/img/markers/0.png">
但出於某種原因,這個簡單的代碼是不是加工。如果我把console.log放在點擊函數之外,如下:
$(document).ready(function(){
console.log("clicked");
$(".map-marker").click(function(){
var latitude = $(this).data("data-latitude");
});
});
我在控制檯中得到所需的響應。所以,我知道a)jQuery已經加載,b)$(document).ready
函數正在觸發。那麼,當元素被點擊時,什麼原因可能會導致我的原始代碼不能觸發?
它在我的JSFiddle中工作... 它必須是你的代碼中的其他東西,你可以發佈更多的代碼嗎? http://jsfiddle.net/4uTwA/1/ – JOSEFtw
@JOSEFtw我剛剛發現這與我使用AngularJS有關。 在ng-repeat裏面 - 當我把它放在外面時它就起作用了。我想我必須找到一種「角度」的方式來做到這一點。 – babbaggeii
我認爲你應該看看其他答案並使用.on('click'...而不是:) – JOSEFtw