我正在使用SmartCart.js
脚本将产品从一个div标签添加到另一个div标签,但是当我运行此代码时,不会触发“添加产品”按钮的事件。为什么呢?
var HTML = '<div class="scProductListItem">'+
'<table border="0" cellpadding="2" cellspacing="2">'+
'<tr>'+
'<td rowspan="3"><img width="100px" src="http://webscopia.com/wp-content/uploads/2011/06/Google.plus-get-an-invite-from-me.jpg" alt="Not availabel" /></td>'+
'<td><strong><span id="prod_name'+'test'+'">'+'detail_product[0]'+'</span></strong></td>'+
'</tr>'+
'<tr>'+
'<td>'+
'<input type="button" rel="'+'test'+'" class="scItemButton scBtn" value="Add Product">'+
'</td>'+
'</tr>'+
'</table>'+
'<input type="button" value="TestButton" name="Test" onclick="Alert()"/>'+
'</div>';
$('#sc_productlist').append($(HTML));
添加产品。这些按钮的事件是我无法接收的。
答案 0 :(得分:0)
您需要在将HTML附加到div之后绑定onclick
事件,或者您可以使用jQuery live 函数来绑定事件。
答案 1 :(得分:0)
Alert()不是有效的功能
警报(的 ''强>);是一个有效的功能
答案 2 :(得分:0)
那是因为您没有为该按钮指定任何事件。尝试添加onclick
事件:
'<input type="button" rel="'+'test'+'" class="scItemButton scBtn" value="Add Product" onclick="alert(\'Add product\');">'+
如果您使用jQuery添加了一个事件,那么它不起作用,因为您只将事件添加到当时存在的元素。您必须在创建事件后将事件添加到新按钮,或使用delegate方法将事件处理程序添加到已存在的父元素:
$('#sc_productlist').delegate('.scItemButton', 'click', function(){
// code to handle the event
});