Re: [問題] 關於jQuery的html()和apend()
※ 引述《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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):