'this'的价值是什么?

时间:2013-03-06 12:40:33

标签: javascript jquery

我想知道这一点,因为我必须在编辑期间通过电子表格等菜单按钮更改单元格样式。下面的代码无法正常工作。

$("#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");
   });
});

4 个答案:

答案 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.targetevent.currentTarget,因为它更明确,并允许函数具有易于重新绑定的范围var。 (例如,您可以使用事件处理程序,它是另一个对象的属性并将其绑定到该实例。)