为什么点击事件绑定不上???

starrycheng 2017-05-20 10:06:11
AJAX请求完数据,动态填充表格,表格中有按钮。
$('#wh_InOut>tbody').append('<tr>'
+ '<td>' + this.Ower + '</td>'

+ '<td>' + this.Region + '</td>'
+ '<td class="text-right">'
+ '<button onclick="clickWh_InOut(event);" data-ower="' + this.Ower + '" data-epc="' + this.EPC + '" data-status="' + this.Status + '" class="wh_InOut_Bt btn-info btn btn-xs" data-toggle="modal" data-target="#myModalWHInOut">' + (this.Status === 0 ? '你好' : '不好') + '</button>'
+ '</td>'
+ '</tr>');
});

用” $('.wh_InOut_Bt').click“不行,因为Button是Ajax请求回来,手动添加的HTML元素,$('.wh_InOut_Bt')获得不了元素。

如果用onclick="clickWh_InOut(event);"事件,然后在$(function () {})中定义 var clickWh_InOut = function (event) {})定义一个函数,却提示“”WHInOut.aspx:1 Uncaught ReferenceError: clickWh_InOut is not defined
at HTMLButtonElement.onclick (WHInOut.aspx:1)“”


为什么呢??? 之前解决过这个问题,忘记了。求大师指教。
...全文
343 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-05-20
  • 打赏
  • 举报
回复
引用 5 楼 starrycheng 的回复:
[quote=引用 4 楼 qq_29594393 的回复:] 原因是,绑定事件的时候,你还没有生成元素,选不到,所以没有绑定事件, 方法1. 在回调函数里面绑定事件,也就是放在生成html的代码后面 方法2,delegate 事件委托,就是为将来(现在还不存在的dom)绑定事件
事件委托该怎么写? 大师?[/quote]

$("#wh_InOut").on("click", ".wh_InOut_Bt", function(event){  });

天际的海浪 2017-05-20
  • 打赏
  • 举报
回复
$("#wh_InOut").on("click", ".wh_InOut_Bt", function(event){ });
当作看不见 2017-05-20
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>show</title>
</head>
<body>
</body>
</html>
<script src="js/jquery.min.js"></script>
<script>
//先绑定事件
    $("body").delegate("button","click",function () {
        alert(1);
    })
//后添加元素
    $("body").append("<button>ss</button>");
</script>

starrycheng 2017-05-20
  • 打赏
  • 举报
回复
引用 4 楼 qq_29594393 的回复:
原因是,绑定事件的时候,你还没有生成元素,选不到,所以没有绑定事件, 方法1. 在回调函数里面绑定事件,也就是放在生成html的代码后面 方法2,delegate 事件委托,就是为将来(现在还不存在的dom)绑定事件
事件委托该怎么写? 大师?
当作看不见 2017-05-20
  • 打赏
  • 举报
回复
原因是,绑定事件的时候,你还没有生成元素,选不到,所以没有绑定事件, 方法1. 在回调函数里面绑定事件,也就是放在生成html的代码后面 方法2,delegate 事件委托,就是为将来(现在还不存在的dom)绑定事件
starrycheng 2017-05-20
  • 打赏
  • 举报
回复
$('.wh_InOut_Bt').on('click', clickWh_InOut); 这样手动绑定了一下搞定了
starrycheng 2017-05-20
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
代理 自己查下delegate
如何 查能不能详细点
似梦飞花 2017-05-20
  • 打赏
  • 举报
回复
代理 自己查下delegate

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧