jquery实时点击事件在IE8中不起作用

时间:2012-12-05 10:08:12

标签: javascript jquery internet-explorer-8

我正在使用以下代码,它在我见过的所有浏览器中都能正常工作,IE9很好但是我来到IE8并且它根本不起作用..仅供参考{{1} } element被动态添加到页面中..

#cal_popup_table

任何人都可以解释为什么它可能无法正常工作,函数内部的代码无关紧要,因为简单的 $("#cal_popup_table tbody tr td a").live('click', function() { $('.datepick-cmd-today').text(from_month + ' ' + from_year); var test = from_yeartest + '-' + from_monthtest + '-' + from_daytest; var test_new = test.split("-"); var today = test_new[0] + '-' + test_new[1] + '-' + test_new[2]; $("#arrival").val(today); }); 也无效......点击事件根本就不会触发< / p>

更新 - 这是插入页面的代码(修剪了一些内容等)

alert()

3 个答案:

答案 0 :(得分:2)

尝试删除tbody

$("#cal_popup_table tr td a").live('click', function() {

有些浏览器会将<tbody>添加到自动生成的表中,但IE 8则不会。

这就是JS无法在IE 8中执行代码的原因。

答案 1 :(得分:0)

使用on()

    $("#cal_popup_table").on('click', 'tr td a', function() {
        alert('a');
    });

答案 2 :(得分:0)

我只是checked your code in ie8its working absolutely fine no problems whatsoever,我做了一件小事:http://jsfiddle.net/J8ysn/1/

  

这是我尝试过的jQuery代码。

    $('<table border="1"><tbody><tr><td></td></tr></tbody></table>')
        .appendTo('body')
        .attr({"id":"cal_popup_table"});

    $('<a href="#">clik</a>').appendTo("#cal_popup_table tbody tr td");


    $("#cal_popup_table tbody tr td a").live('click', function() {
          alert('live clicked');
    });