td onclick无法正常工作

问题描述:

我正在使用MVC4并使用表格,当我设置onclick <td>表中的元素然后相关的函数不起作用。td onclick无法正常工作

这是怎么了doing-

<tr> 

     <td style="cursor:pointer" onclick="D();"> 
     #= DisplayName #</td> 
     </tr> 

jQuery的功能 -

<script type="text/javascript"> 

       $(document).ready(function D() { 
        $('td').click(function (event) { loadPartially(event, '@Url.Contact_PartialView_Main()[email protected]') }); 
        alert("aa"); 
       }); 
      </script> 

当这个没有工作,我试图给它和ID-

<tr> 

      <td style="cursor:pointer" id="Open"> 
      #= DisplayName #</td> 
      </tr> 

这个jQuery函数 -

<script type="text/javascript"> 

        $(document).ready(function { 
         $('#Open').click(function (event) { loadPartially(event, '@Url.Contact_PartialView_Main()[email protected]') }); 
         alert("aa"); 
        }); 
       </script> 

我想要获取单击此元素的表上的负载部分事件。

但不知何故,它不工作。我不确定我是否可以使用表格的<td>元素上的onclick函数。

+0

什么是不工作?你是否会发出警报? 'loadPartially'是做什么的?您是否尝试在'click'处理程序中将“alert”作为第一件事情来查看它是否执行?你一定可以处理'​​'元素的'click'事件。 – Ian 2013-04-11 04:36:47

+0

@lan:我已经更新了标签,是的,警报不会到来。 loadPartially调用一个新页面'onclick' – Manoj 2013-04-11 04:38:19

$(document).ready(function(){//You have missed paranthesis of function() 
    $('#Open').live('click',function(event) { 
      alert("aa"); 
      loadPartially(event, '@Url.Contact_PartialView_Main()[email protected]'); 
     }); 
    }); 
+0

事情是这里没有调用alert。 – Manoj 2013-04-11 04:42:18

变化:

$(document).ready(function { 

$(document).ready(function() { 
+0

甚至没有工作。 – Manoj 2013-04-11 04:39:59

onclick<td>是有效的。

将您的alert作为函数D()的第一行,以确保正确调用它。

使用FireFox,安装Web Developer工具栏和Firebug插件。按F12,单击控制台选项卡,然后单击<td>。如果有任何错误,您将在控制台标签中看到它们。

Firstly give a id or class to your td 


<tr> 

    <td style="cursor:pointer" id='PerformAction'> 
    #= DisplayName #</td> 
    </tr> 


$(document).ready(function(){ 
$('#PerformAction').click(function (event) { 
    loadPartially(event, '@Url.Contact_PartialView_Main()[email protected]') 
    alert("aa"); 
}); 
}); 

这里的问题是,你正在混合旧的学校的方法与jQuery的一个(admittidly,你也混在语法,根本不会工作)。

这里是你如何完成绑定onclick事件缺席的jQuery:

<script type="text/javascript"> 
    function D() { 
     alert('omg!'); 
    } 
</script> 

... 

<td onclick="D()"> 
</td> 

现在,如果你想使用jQuery的方式它应该是这样的:

<script type="text/javascript"> 
    $('#IdSelector').click(function() { 
     alert('omg!'); 
    }); 
</script> 

... 

<td id="IdSelector"> 
</td> 

随着jQuery的方法,您牺牲了一种简单的能力,可以立即确定在td的onclick期间会发生什么情况,以分离javascript逻辑和表示层之间的问题(html)

我更喜欢jQuery方法,因为它不必关心一些令人讨厌的语法问题,在执行内联JavaScript时要注意,以及更易读的IMO。

编辑:

演示jQuery的方法 - http://jsfiddle.net/jSnAh/