Jquery .click不会控制日志或警报

met*_*rsk 2 javascript jquery

我有以下jquery:

$(".order_submit").click(function() {
  alert( "Alert" );
  console.log("TEST")
});
Run Code Online (Sandbox Code Playgroud)

当我将该功能放入控制台时,我得到以下内容:

$(".order_submit").click(function() {
  alert( "Alert" );
  console.log("TEST")
});
[
<input id=?"order_button" type=?"button" class=?"order_submit" value=?"Submit Order">?
]
Run Code Online (Sandbox Code Playgroud)

该按钮是通过此javascript创建的:

var total = 0;
    for (var x in prodData) total += prodData[x].price * prodData[x].quantity
    total = Math.round(total * 100) / 100
    var subtotal = '<tr><td><input id="order_button" type="button" class="order_submit" value="Submit Order"></td><td>Subtotal</td><td>$' + total + '</td></tr>';
Run Code Online (Sandbox Code Playgroud)

这与它有什么关系吗?

Ror*_*san 6

在DOMReady之后,当按钮添加到页面时,您需要使用委托事件:

$(document).on('click', '.order_submit', function() {
    alert('Alert');
    console.log('TEST')
});
Run Code Online (Sandbox Code Playgroud)

请注意,为了获得最佳性能,您应该将document我的示例更改为页面加载时DOM中最近的元素.我想这将是subtotal附加到的表.