首页 新闻 搜索 专区 学院

动态添加input中的click事件没反应?请高人指点!

0
悬赏园豆:10 [已解决问题] 解决于 2015-10-29 09:29

从一个table中取其里面的元素添加到另一table中,添加后引发click事件无效!

我的写法:

$(".bt_AddWareClasse").bind("click", function () {
    alert("test_0");
})
这里没反应?

向AddWareClasse添加元素,这里添加元素是没有问题也能正常显示!

$("input[name='Order']").click(function () {
    var HTML = "";
     HTML = $("#Order_0").html();

     $("#AddWareClasse").append(HTML);
});

 

所要添加的元素代码如下:

<table id="Order_0" style="display: none;">
    <tr>
        <td style="text-align: center" colspan="2">
            <input type="button" name="bt_AddWareClasse" class="bt_AddWareClasse" value="确定" />
        </td>
    </tr>
</table>

润物之音的主页 润物之音 | 初学一级 | 园豆:102
提问于:2015-10-15 09:04
< >
分享
最佳答案
1

想动态绑定事件. 应该使用on语句绑定.

例如:

 $(document).on("click", ".bt_AddWareClasse", function () {
       alert("test_0");
 });
收获园豆:10
李丶GuanYao | 小虾三级 |园豆:1228 | 2015-10-15 09:45
其他回答(4)
0

直接追加html是创建新的元素。需要重新绑定事件。

长蘑菇星人 | 园豆:1832 (小虾三级) | 2015-10-15 09:21
1

使用bind只能绑定存在的元素,后期动态添加的请使用live,如:

$(".bt_AddWareClasse").live("click", function () {
    alert("test_0");
})

 

以上是jquery 1.x(x具体到多少我也忘记了)

 

如果是jquery 2.x(具体那个版本开始不太清楚了),请使用on

 $(document).on("click", ".bt_AddWareClasse", function () {
       alert("test_0");
 });
茫海 | 园豆:206 (菜鸟二级) | 2015-10-15 10:20
0

事件是针对已有的元素才能添加,你是后面来的的元素,当然也就没有注册事件了。

幻天芒 | 园豆:36594 (高人七级) | 2015-10-15 10:21
0

dom还没有就绪。

jackccc | 园豆:1341 (小虾三级) | 2015-10-15 10:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册