<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>
<div id='test'>123</div>
用html()產生的button,不會執行click中的程式
請問大家有解決的辦法嗎
$('document').ready(function() { $('#test').click(function() { $('#test').html('<input type="button" value="測試" class="cancel"/>'); $('#test').addClass('edit'); alert('hi'); $('.cancel').click(function() { $('#test').removeClass('edit'); alert('cancel'); }); }); });
$('document').ready(function(){ $('#test').click(function(){ $('#test').html('<input type="button" value="測試" class="cancel"/>'); $('#test').addClass('edit'); $('.cancel').click(function(){ $('#test').unbind('click'); //將div#test的click事件移除 $('#test').removeClass('edit'); //$('#test').removeAttr('class'); 可以連class屬性都拿掉 alert('cancel'); }); }); });
你的情況的話,將註冊.cancel事件放進#test註冊click的event中,應該就可以work了
寫法如下:
<pre class="c" name="code">$('document').ready(function() {
$('#test').click(function() {
$('#test').html('<input type="button" value="測試" class="cancel"/>');
$('.cancel').click(function() {
alert('cancel');
});
});
});
(ps.你的範例中,最後少了,應該是copy&paste掉的吧)