0

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

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

4 回答 4

1

会的td。做一个console.log($(this).html())找出答案。

于 2013-03-06T12:43:19.130 回答
1

尝试执行以下操作

console.log(e.target);

请注意,您必须将 e 作为参数传递给函数参数

于 2013-03-06T12:45:52.550 回答
0

this in an event handler is usually equal to event.currentTarget, unless you have explicitly manipulated the scope using $.proxy(), Object.bind or similar techniques.

I usually use event.target and event.currentTarget in event handlers because it is more explicit and allows the function to have an easily rebindable scope var. (E.g., you can use an event handler which is a property of another object and bind it to that instance.)

于 2013-03-06T13:38:08.563 回答
0

也可以按照@Jitesh Tukadiya 所说的尝试,console.log(e.target);

你也可以使用自己调试,来显示 alert(); 用不同的论据分析它给出了什么。

使用调试工具。

于 2013-03-06T13:05:12.333 回答