iThome online | iThome Blog | iThome周刊訂閱

載入中...

irukawa

IT邦初學者
8級

jQuery 中 html()所產生的按鈕,無反應

<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$('document').ready(function() {
    $('#test').click(function() {
        $('#test').html('<input type="button" value="測試" class="cancel"/>');
    });
    $('.cancel').click(function() {
        alert('cancel');
    });
});
</script>
</head>
<body>
<div id='test'>123</div>
</body>


用html()產生的button,不會執行click中的程式
請問大家有解決的辦法嗎

</html>漏掉了^^"
感謝wordsmith,你的方法我試成功囉

不好意思再補充一個問題
假如我在第7行後補充一個指令
$('#test').addClass('edit');
又在第10行後補充一行
$('#test').removeClass('edit');

這樣一來,removeClass() 似乎又沒辦法移除class
煩請大家指點一下,謝謝

2008-10-09 11:27:21 補充

不好意思,要參照wordsmith的程式才對
第3行後加一行
$('#test').addClass('edit');

第5行後加一行
$('#test').removeClass('edit');

2008-10-09 11:29:50 補充



收到書籤:發佈到twitter      
解決時間:2008-10-22 16:11:42
發問時間:2008-10-08 16:53:03

▼ ADVERTISEMENT ▼

最佳解答(發問者自選)
7

回答:wordsmith ( IT邦好手9級 )

時間:2008-10-08 17:45:36

你的情況的話,將註冊.cancel事件放進#test註冊click的event中,應該就可以work了

寫法如下:

$('document').ready(function() {   
    $('#test').click(function() {   
        $('#test').html('<input type="button" value="測試" class="cancel"/>');   
        $('.cancel').click(function() {   
            alert('cancel');   
        });  
    });   
}); 

(ps.你的範例中,最後少了</html>,應該是copy&paste掉的吧)

2008-10-09 17:57:14補充
會這樣是因為按下按鈕時,又觸發了div#test的click事件,所以把remove掉的class又加了回來,請看討論中的詳細說明。

[-隱藏]

回應

fillano 說:

irukawa,你在產生.cancel的click事件時,這個button還沒產生哪。像wordsmith講的改一下應該就可以了。這是先後順序的問題,其實跟jQuery沒直接關係。

2008-10-08 19:56:06

jQuery 中 html()所產生的按鈕,無反應

目前沒有回答

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

▼ ADVERTISEMENT ▼

熱門標籤

 cisco   crystal   exchange   it   java   javascript   linux   m-power   mail   microsoft   msnlib   msnp15   msnsdk   msn機器人   mysql   nas   oracle   outlook   pmi   pmp   raid   report   sap   server   smartquery   sql   vista   windows   xp   倍力   倍力資訊   免費軟體   國際專案管理師   報表   專案管理   微軟   有話大聲說   活動   省錢   網路   網路儲存   網路管理   網頁安全   網頁設計   資安   資料庫   資訊安全   防毒軟體   2003   2008