td onclick无法正常工作

时间:2013-04-11 04:34:05

标签: javascript jquery html-table

我在MVC4中工作并使用表格,当我在表格的<td>元素上设置onclick时,相关的功能无效。

这就是我的工作方式 -

 <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()?ContactID=@Model.ContactID') });
                    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()?ContactID=@Model.ContactID') });
                        alert("aa");
                    });
                </script>

我试图在点击表格的这个元素时获得加载部分事件。

但不知怎的,它不起作用。我不确定我是否可以在表的<td>元素上使用onclick函数。

5 个答案:

答案 0 :(得分:3)

变化:

$(document).ready(function {

$(document).ready(function () {

答案 1 :(得分:2)

这里的问题是你将旧学校的方法与jquery方法混合在一起(顺便说一下,你也混合了语法,这根本不起作用)。

以下是如何在没有jquery的情况下完成对onclick事件的绑定:

<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/

答案 2 :(得分:1)

$(document).ready(function(){//You have missed paranthesis of function()
     $('#Open').live('click',function(event) { 
             alert("aa");
             loadPartially(event, '@Url.Contact_PartialView_Main()?ContactID=@Model.ContactID');
      });  
  });

答案 3 :(得分:0)

onclick上的

<td>有效。

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

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

答案 4 :(得分:0)

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()?ContactID=@Model.ContactID')
    alert("aa");
});
});