我有Demo Table我可以点击单元格(td标签),我可以更改it.direct php DataBase上的值。 要做到这一点,我需要包含两个标签.1 - span。 2 - 输入。 如下所示。
<td class='Name'>
<span id="spanName1" class="text" style="display: inline;"> Somevalue </span>
<input type="text" value="Somevalue" class="edittd" id="inputName1" style="display: none; ">
</td>
控制我在jquery中使用的单元格内的数据。 mouseup函数。 mouseup工作但也有麻烦。 我需要用模糊功能替换它,但当我尝试用模糊替换mouseup时 该程序不起作用,因为,当我点击单元格时,我能够输入输入标签,我可以更改值,但我没有成功通过单击表格旁边的标签/字段,这让我更新数据库 你可以看到Demo with blur Here。 你建议我做什么?
$(".edittd").mouseup(function() {
return false;
});
//*************
$(document).mouseup(function() {
$('#span' + COLUME + ROW).show();
$('#input'+ COLUME + ROW ).hide();
VAL = $("#input" + COLUME + ROW).val();
$("#span" + COLUME + ROW).html(VAL);
if(STATUS != VAL){
//******ajax code
//dataString = $.trim(this.value);
$.ajax({
type: "POST",
dataType: 'html',
url: "./public/php/ajax.php",
data: 'COLUME='+COLUME+'&ROW='+ROW+'&VAL='+VAL, //{"dataString": dataString}
cache: false,
success: function(data)
{
$("#statuS").html(data);
}
});
//******end ajax
$('#statuS').removeClass('statuSnoChange')
.addClass('statuSChange');
$('#statuS').html('THERE IS CHANGE');
$('#tables').load('TableEdit2.php');
}
else
{
//alert(DATASTRING+'status not true');
}
});//End mouseup function
我将其更改为:
$(document).ready(function()
{
var COLUMES,COLUME,VALUE,VAL,ROWS,ROW,STATUS,DATASTRING;
$('td').click(function() {
COLUME = $(this).attr('class');
});
//****************
$('tr').click(function() {
ROW = $(this).attr('id');
$('#display_Colume_Raw').html(COLUME+ROW);
$('#span' + COLUME + ROW).hide();
$('#input'+ COLUME + ROW ).show();
STATUS = $("#input" + COLUME + ROW).val();
});
//********************
$(document).blur(function() {
$('#span' + COLUME + ROW).show();
$('#input'+ COLUME + ROW ).hide();
VAL = $("#input" + COLUME + ROW).val();
$("#span" + COLUME + ROW).html(VAL);
if(STATUS != VAL){
//******ajax code
//dataString = $.trim(this.value);
$.ajax({
type: "POST",
dataType: 'html',
url: "./public/php/ajax.php",
data: 'COLUME='+COLUME+'&ROW='+ROW+'&VAL='+VAL, //{"dataString": dataString}
cache: false,
success: function(data)
{
$("#statuS").html(data);
}
});
//******end ajax
$('#statuS').removeClass('statuSnoChange')
.addClass('statuSChange');
$('#statuS').html('THERE IS CHANGE');
$('#tables').load('TableEdit2.php');
}
else
{
//alert(DATASTRING+'status not true');
}
});//End mouseup function
$('#save').click (function(){
var input1,input2,input3,input4="";
input1 = $('#input1').attr('value');
input2 = $('#input2').attr('value');
input3 = $('#input3').attr('value');
input4 = $('#input4').attr('value');
$.ajax({
type: "POST",
url: "./public/php/ajax.php",
data: "input1="+ input1 +"&input2="+ input2 +"&input3="+ input3 +"&input4="+ input4,
success: function(data){
$("#statuS").html(data);
$('#tbl').hide(function(){$('div.success').fadeIn();});
$('#tables').load('TableEdit2.php');
}
});
});
});
答案 0 :(得分:1)
当用户点击文档时,模糊事件不会触发。
要查看事件何时触发,您可以使用javascript控制台附加日志记录功能。 将它们粘贴到您的控制台中:
$(document).mouseup(function(){console.log('document.mouseup()')});
$(document).blur(function(){console.log('document.blur()')});
然后单击并查看模糊不会触发,除非整个文档失去焦点(而不是所有浏览器)。
鼠标造成了什么样的麻烦?