从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