作者TonyQ (自立而後立人。)
看板Ajax
标题Re: [问题] 关於jQuery的html()和apend()
时间Fri Apr 27 13:07:06 2012
※ 引述《sabiya (别赤脚走路)》之铭言:
: 首先感谢版大详细回答,
: 还有版友的回答,
: 深刻了解到html()和append()的差异。
: 但是其实在我post callback function最後面,
: 除了把<tr>插进来外,
: 我是有去把所有的button event handler都移除,
: 再对所有的button加上click event handler,
: 这样是不是无论是使用html()或append()都会把event handler bind给所有button?
因为 append 跟 html 是同步的,所以你执行完 html() 或 append() 之後,
下 query 应该就拿的到,所以应该是你说的这样没错。
不过因为我们只有看到你整个范例的一小角,所以很难说为什麽。
建议你给个简单一点的测试案例,ajax 也不过是给你一个 String ,
你把字串拿出来模拟应该就可以达到一样的结果。
另外你也可以下 table.find("button").click() ,
或是 $("button",table) 只对 table 底下的 button 。
实务上我们不太会针对所有 button 去做操作,误伤的可能性太高了。
: $.post('admin_polling.php',
: {method:'polling', docID:docNum, marketID:marketNum, dealID:dealNum},
: function(data){
: var trHtml = '<tr><td>xxxxx</td>
: <td>
: <button title="doc" class="cancel">结案
: </button>
: </td>
: </tr>';
: var table = $('#content table');
: table.append(trHtml);
: $("button").off();
: $('button').click(clickBtn);
: setTimeout("polling()",10000);
: },'json');
--
Life's a struggle but beautiful.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.202.140
※ 编辑: TonyQ 来自: 220.135.202.140 (04/27 13:07)