Javascript 从嵌套函数中选择事件目标

Javascript 从嵌套函数中选择事件目标,javascript,jquery,css,Javascript,Jquery,Css,我在JQuery选择方面遇到了一些问题。我有一个click处理程序,当用户单击表中的一行时,它处理逻辑。但是,当单击其中一些行时,单击逻辑将发现它们包含无效数据,我想将它们灰显。为此,我添加了一个合适的CSS类,将它们的文本变成灰色(或者禁用它们) 我的基本结构是: $('#tableInfo tr').live('click', function(){ function doStuff(){ //Ajax call $.ajax({ .

我在JQuery选择方面遇到了一些问题。我有一个click处理程序,当用户单击表中的一行时,它处理逻辑。但是,当单击其中一些行时,单击逻辑将发现它们包含无效数据,我想将它们灰显。为此,我添加了一个合适的CSS类,将它们的文本变成灰色(或者禁用它们)

我的基本结构是:

$('#tableInfo tr').live('click', function(){

    function doStuff(){
        //Ajax call
        $.ajax({
        ...
        ...
        )}.success(function(){
            ...
        } else {
            var target = $(event.target);
            target.addClass('disabled');
        }
    });
});
var information = $(#misc-information)
doStuff(information)
至少这是基本的想法。我关心
else
块中的内容,它没有按我所认为的那样工作。我做了一些关于如何处理这种逻辑的研究,event.target似乎正是我在寻找选择事件的当前来源(我要禁用的单击行)时所寻找的。我嵌套在一个事件处理程序中,我正在选择事件目标,但这似乎没有任何作用,我不知道为什么


感谢您的帮助。

您没有传递事件对象,目标拼写错误

$('#tableInfo tr').live('click', function(event){ // event param here

    function doStuff(){
        //Ajax call
        $.ajax({
        ...
        ...
        )}.success(function(){
            ...
        } else {
            var target = $(event.target); // typo here
            target.addClass('disabled');
        }
    });
});

在您的真实代码中是否拼写为
tarrget
?另外,您使用的是哪个版本的jquery
live
很久以前就被弃用了,现在已经被完全删除。可能应该开始使用
.on()
而不是
.live()
在2013年这里…“TarTarget”只是一种类型。我只是在这里“总结”了更长的代码以消除所有的漏洞的一般想法。很好,事件没有被传递正是问题所在。