更新:此問題發生在dinamically創建的元素 我有一個頁面,我在ajax中加載產品到網格中。每個產品都是一個div,我希望可點擊它將其信息添加到購物車。Touchstart事件代表團
一切工作正常使用jQuery單擊事件,但該頁面必須在移動設備上使用,所以我想用touchstart事件,但我怎麼寫的這是行不通的!
看來事件代表團並不對touchstart或其他東西的工作。
這是桌面頁點擊作品的代碼,在Chrome或Firefox,如果我模仿移動設備的觸摸不工作,任何想法?
<div class="col-xs-12 col-md-offset-3 col-md-6 col-md-3 col-lg-offset-3 col-lg-6 col-lg-3 ">
<div class="tiles" id="products"></div>
</div>
$("#products").on("click touchstart", ".product-tile", function (e) {
console.log("OK");
});
function getProducts() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/aj/ProductWs.asmx/GetListJson",
data: "{ id_category: '<%= id_category%>' }",
success: function (data) {
var j = jQuery.parseJSON(data.d);
var products = '';
var colors = ["bg-blue-madison", "bg-purple-studio", "bg-green-meadow", "bg-grey-cascade", "bg-red-intense", "bg-green", "bg-blue-steel", "bg-yellow-lemon", "bg-red-sunglo"];
if (j != null) {
for (var i = 0; i < j.length; i++) {
var colore = colori[Math.floor((Math.random() * 8) + 1)];
products += '<div class="col-md-4 col-sm-4 col-xs-4"><div class="tiles-bar product-tile tile ' + colore + '" data-idproduct = "' + j[i]["ID_Product"] + '" data-name = "' + j[i]["Name"] + '" data-price = "' + j[i]["Price"] + '"><div class="tile-object"><div class="name">' + j[i]["Name"] + ' € ' + j[i]["Price"] + '</div></div></div></div>';
}
}
$("#product").append(products);
}
});
}
對於移動設備,此插件可能有所幫助https://github.com/benmajor/jQuery-Touch-Events – GillesC
它似乎對我有用:https://jsfiddle.net/mzksre7x/ – Alvaro
@Alvaro your代碼是正確的,但在我的情況下,我從數據庫 – David