Javascript 在窗口加载时将 onclick 事件添加到单选按钮

Javascript add onclick event to radio buttons on window load

本文关键字:事件 添加 单选按钮 onclick 窗口 加载 Javascript      更新时间:2023-09-26

我需要向单选按钮添加一个onClick事件,然后使我能够调用另一个函数(calculateTotal)。

我无法编辑 HTML,所以我使用"委托"来定位特定元素。以下代码是我的尝试,但它什么也没做:

window.onload = function(){
  $('form').delegate('input[type="radio"]', 'focusin', function () {
  $(this).onclick = function() { 'calculateTotal()' };
  });
};

有人可以帮忙吗?

你不应该使用丑陋的onclick。你应该使用 jQuery 绑定事件,比如

$('form').delegate('input[type="radio"]', 'click', calculateTotal)

但是,如果您在jQuery上使用最新版本,请使用.on()

$('form').on('click','input[type="radio"]', calculateTotal)

您可以将单击事件绑定到文档就绪上的所有单选按钮:

$(function(){
    $('form input[type="radio"]').on('click', calculateTotal);
});

如果你想要Click事件,请使用click事件而不是focusin,如下所示:

$('form').delegate('input[type="radio"]', 'click', calculateTotal)
                                          ^^^^^^^

演示

注意:如果您使用的是 Jquery 版本>= 1.7。您可以使用 .on() 代替 .delegate()