bind(type,[data],fn)
为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。
这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
那我认为你所说的空白部分就是除td以外body部分。
var editFlag = false; // 是否正在编辑
var oldRow;
var oldCol;
var nowRow;
var nowCol;
$("#containDiv #gvEdit tr td").bind("click",function(){
var inputWidth = $(this).width;
//........以下是你上面的代码
return false; //阻止除td以外的事件起泡
})
$("body").click(function(){
// 不是同一个TD,取消前一个的编辑状态,并回传服务器
var val = $("#gvEdit input").val();
$("#gvEdit tr:eq(" + oldRow + ") td:eq(" + oldCol + ")").html(val);
$("#gvEdit tr:eq(" + oldRow + ")").css("background-color", "white");
})
希望对你有用
用$(document).click呢