禁用onClick函数的内容并在以后重用?

时间:2015-01-27 21:10:19

标签: javascript jquery javascript-events

有没有办法可以做这样的事情?

在默认情况下禁用此类按钮的所有onclick事件

$('.btn').off('onclick');

缓存元素功能

var clickEvent = $('.btn').prop('onclick');

重复使用该功能

if(form == valid()) {
 //run cached function in var from onclick
}

在onclick属性中提交包含Google事件跟踪代码的按钮。

  <button class="btn " type="submit" onclick="ga('send', 'event', 'Category', 'Action', 'Label');">Submit</button>

1 个答案:

答案 0 :(得分:2)

不使用onclick怎么办?毕竟是2015年...

$('.btn').on('click', send);

function send() {
    ga('send', 'event', 'Category', 'Action', 'Label');
}

$('.btn').off('click', send);

解决这种情况的替代方法:

$('form').on('click', '.bnt:not(.active)', function () {
    ga('send', 'event', 'Category', 'Action', 'Label');
    $(this).addClass('active'); // disables it
});

$('.btn').removeClass('active'); // re-enables it