我創建表時動態地包含了一些數據。當用戶雙擊每個<td>
時,<td>
轉換爲<input type='text'>
。如果用戶在該輸入之外單擊,則必須將其保存到數據庫。 但問題是,如果用戶雙擊<td>
,函數第一次觸發,如果再次雙擊,它會觸發點擊事件。如何在jquery中每次處理雙擊事件
<table>
<tbody>
<tr><td data-name="name">US</td></tr>
</tbody>
</table>
<script>
$(document).on('dblclick','tbody tr td', function(){
var value = $(this).text();
var name = $(this).attr('data-name');
$(this).html('<input type="text" id="tmp_ed" value="'+value+'"/>');
$(document).on('click', function(e){
if(e.target.id !='tmp_ed'){
var item = $('#tmp_ed').val();
$.ajax({
url: "update.php",
data: item,
success: function(d){
alert(d);
}
});
}
});
});
</script>
當用戶雙擊他得到'input'場,如果雙擊再次發生腳本還會創建新的「輸入」,是你的問題嗎? –
@KresimirPendic。沒有。首先只發生一次dblclick事件。第二個是當用戶點擊文件內的任何地方,onclick事件被觸發。我想只是'id ='tmp_ed''出現 –