<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掉的吧)