我想知道这一点,因为我必须在编辑期间通过电子表格等菜单按钮更改单元格样式。下面的代码无法正常工作。
$("#tab1 tr td:not(:first-child)").on("click", function (e) {
console.log(e);
if(e.currentTarget.contentEditable != null){
$(e.currentTarget).attr("contentEditable",true);
}
else{
$(e.currentTarget).append("<input type='text'>");
}
});
//Add bold text
$("#tab1 tr td:not(:first-child)").on("click", function () {
var mytd=this;
$("#btn4 li a:eq(0)").on("click",function() {
$(mytd).toggleClass("bold");
$(this).toggleClass("bg");
});
});
答案 0 :(得分:1)
它将是td
。做一个console.log($(this).html())
来查找。
答案 1 :(得分:1)
尝试执行以下操作
console.log(e.target);
注意您必须在函数参数
中传递e作为参数答案 2 :(得分:0)
根据@Jitesh尝试Tukadiya说, 的console.log(e.target);
你也可以使用debug your self,来显示alert();用不同的论点分析它给出了什么。
使用调试工具。
答案 3 :(得分:0)
this
通常等于event.currentTarget
,除非您使用$.proxy()
,Object.bind
或类似技术明确操作了范围。
我通常在事件处理程序中使用event.target
和event.currentTarget
,因为它更明确,并允许函数具有易于重新绑定的范围var。 (例如,您可以使用事件处理程序,它是另一个对象的属性并将其绑定到该实例。)