好的,我在這方面做了大量的搜索,沒有任何工作。我沒有得到任何有用的答案,所以我想很多人遇到這個問題,但無法弄清楚。(已解決/請參閱我的答案中的解決方案)動態添加的HTML上的Hammer.js事件
我有這樣的HTML結構:
<div id="snaps">
<div class="snap_item">
<div class="snap_item_following_info">
<img class="snap_item_following_img" src="res/stat/img/user/profile/small/1.fw.png" alt="@JohnDoe" />
<a class="snap_item_following_name" href="#">@JohnDoe</a>
</div>
<img class="snap_img" src="res/stat/img/user/snap/43/2.fw.png" alt="@ErolSimsir" />
<div class="like_heart"></div>
<div class="snap_info">
<div class="snap_text">
Image caption
<a class="snap_text_hashtah" href="@">#LA_city_trip</a>
</div>
<div class="snap_sub_info">
<span class="snap_time">56 minutes ago</span>
<div class="like inactive_like">
<div class="like_icon"></div>
<div class="like_no_active">5477</div>
</div>
</div>
</div>
</div>
</div>
在div '#snaps' 是一個靜態的div,它包含所有被添加與JQuery的html的()函數 '.snap_item' 元素。所以,「.snap_item」元素被動態地添加到div‘#snaps’,像這樣:
<div id="snaps"><!-- static div that holds the dynamic elements -->
<div class="snap_item"><!-- dynamically added element -->
<img class="snap_img" src="..." alt="..." /><!-- when this element is double tapped, the event should be fired -->
</div>
</div>
當「.snap_img」用戶雙擊水龍頭,一些東西已經發生。元素'.snap_img'位於'.snap_item'元素中。
我至今是:
$('#snaps').find('.snap_item').hammer().on({
doubletap : function(event){
alert("doubletap!");
}
});
這並不在所有的工作。 on()函數應該允許我在動態添加的HTML上觸發事件,但此代碼不起作用。我有這個代碼this SO question
我已經包含了hammer.js,jquery_hammer_plugin.js和query.specialevent.hammer.js。所以所有必要的JS文件已經包含在內,但仍然沒有運氣。
我該如何做這項工作?
提前致謝! :)
非常好,我學到了一些新東西:-) – jyrkim 2014-11-16 10:07:27
我在寫這段代碼後得到錯誤'Uncaught TypeError:$(...)。hammer不是一個函數' – 2016-12-01 07:33:07