從here繼續...因爲這個問題已經signifally改變(在我看來)JavaScript的不斷循環
這裏是我的代碼
for (var i = 0; i < len; i++) {
(function() {
var queryid = results.rows.item(i).id; //sql primary key
var divid = "#" + queryid; //assigned id to divs
var pressTimer;
$(divid).mouseup(function(){ //func to handle tap + hold
clearTimeout(pressTimer)
// Clear timeout
return false;
}).mousedown(function(){
// Set timeout
pressTimer = window.setTimeout(function() {
alert(divid);
$(".somediv").show();
$("#anotherdiv").hide();
$("#button").on("click", function(){
var db = window.openDatabase("mydb", "1.0", "mydb", 200000);
db.transaction(editrow);
function editrow(tx){
var value1 = $("#inputbox1").val();
var value2 = $("#inputbox2").val();
tx.executeSql("UPDATE mydb SET column1 = " + value1 + ", column2 = " + value2 + " WHERE id = " + queryid);
alert(divid); ********
successCB();} //query function
})
},1000)
return false;
});
})();
}
,如果我在DIV上點擊和我編輯值,他們被成功提交... 但是,如果在此之後,我選擇另一個div來更新其字段,那麼新值將同時更新爲選定的div,以及前一個選定的div ..
例如i選擇div1並更新價值ES一切正常
如果這之後,我選擇DIV2那麼這兩個DIV1和DIV2值與DIV2
我不明白你想用* setTimeout *做什麼。你想讓*#按鈕*對最後一次點擊的div進行更新嗎?它必須要整整一秒鐘才能完成? – Pato
setTimeout只是觸發div(按鈕)繼續其事件,在屏幕上長時間敲擊後..因爲即時通訊使這個智能手機,我不希望這個特定的行動被點擊觸發,但點擊+保持.. – nikolas