点击事件在Chrome和FireFox中不起作用,但在IE浏览器中工作正常

时间:2014-01-09 13:35:01

标签: javascript google-chrome firefox

我希望用户点击表格中的td来调用javascript函数,但它在IE中工作正常,但不能在chrome和firefox浏览器中工作。

<td id="tdMon" class="space15" style="cursor: pointer;" onclick="HandleClick1(this);">
    <div id="dvDay1" runat="server">
          <div class="booking-day">
             <asp:Label ID="lblDay1" runat="server" Text=""></asp:Label>
             <asp:LinkButton ID="lnk1" runat="server" Text="" OnClick="lnk1_Click" CommandName="click"
             CommandArgument=""></asp:LinkButton>
             |&nbsp
             <asp:Label ID="lblhr1" runat="server" Text="-- hr(s)" ForeColor="red"></asp:Label>
       </div>
         </div>
</td>

- 页面的底部 -

<script language='javascript' type='text/javascript'>
 function HandleClick1(objTD) {
            var lnk = objTD.getElementsByTagName("a");
            if (lnk[0].disabled == false)
                document.getElementById('<%=btn1.ClientID %>').click();
            else
                return false;
        }
</script>

2 个答案:

答案 0 :(得分:0)

拥有内联函数/样式是个坏主意。考虑到您已经拥有了td的ID:

function init(){
    document.getElementById('tdTue').onclick=function(){};
}
window.onload=init;

答案 1 :(得分:0)

如果你想寻找类似jquery的东西,这可能是一个更好的模型。我确定这个功能只是一个例子。这只会触发具有data-link-rel属性的TD的点击,并且会搜索等效链接。

$(function () {
  $("table").on("click", "td[data-link-rel]", function () {
      var linkRel = $(this).data("link-rel"),
          selector = "a[data-link=" + linkRel + "]";
      $(selector).trigger('click');

  });

  $("a").on("click", function () {
      $("<li> I clicked on " + $(this).text() + "</li>").appendTo('ul');
  });

});

JSFiddle with markup:   http://jsfiddle.net/D8yg9/