IE onclick不会触发

时间:2011-05-13 00:36:18

标签: jquery

我在事件发生后用jquery动态制作一个按钮

var $btnRow = $('<input />')
    .attr('type', 'button')
    .attr('id', 'myID')
    .attr('onclick', 'AddChildRow(this);')
    .val('Row');
$btnRow.css({ 'width': '38px', 'padding': '0' });

生成的html就像:

<input type="button" id="myID" onclick="AddChildRow(this);" value="Row" style="width: 38px; padding: 0pt;">

我的js文件中有一个AddChildRow函数。它在FF中完美运行,但在IE中却没有(它不会调用AddChildRow)。以前有人遇到过同样的问题吗?此按钮是动态DIV的一部分 - &gt;表 - &gt; TR - &gt; TD架构。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

尝试以不同方式绑定按钮单击事件并使用jQuery click事件

var $btnRow = $('<input />')
    .attr('type', 'button')
    .attr('id', 'myID')
    .val('Row')
    .click(AddChildRow)
    .css({ 'width': '38px', 'padding': '0' });

$("div").append($btnRow);

function AddChildRow()
{
    alert(this.id);
}

http://jsfiddle.net/hunter/nSCHn/

在IE 6/7/8/9中测试并使用

答案 1 :(得分:0)

您还可以使用jQuery的live()方法。 例如:

$(“#myId”)。live('click',AddChildRow);

并随时在页面上插入myId按钮,因为live()方法将“发现”它并将AddChildRow函数绑定到它。