如何使用jQuery每1秒为按钮添加/删除onclick属性?

时间:2013-09-04 19:47:32

标签: jquery

我有这样的表格:

<form>
   <button id="my_button" type="submit">
</form>

我需要每1秒添加/删除(切换)onclick属性

所以它正在改变:

<button id="my_button" type="submit">

为:

<button id="my_button" type="submit" onclick="extraFunction()">

怎么做?

2 个答案:

答案 0 :(得分:2)

不要切换内联onclick属性。绑定一个不显眼的事件监听器,并有一个单独的计时器切换一个布尔值,您可以在事件回调中检查:

var handleClick = true;

setInterval(function () {
    handleClick = ! handleClick;
}, 1000);

$('button').click(function () {
    if ( handleClick ) {
        extraFunction();
    }
});

如果确实需要切换内联属性,请使用:

var $button = $('button');
var handleClick = true;

setInterval(function () {
    $button.attr('onclick', handleClick ? 'extraFunction()' : '');
    handleClick = ! handleClick;
}, 1000);

Here's the fiddle但请不要使用此功能!无论您尝试做什么,都可以在没有内联属性的情况下完成。

答案 1 :(得分:0)

这里你去吧:)。

setInterval(function () {
    alert($('button').attr("onclick"));
    if ($('button').attr("onclick"))
    {
        $('button').removeAttr("onclick");
    }
    else
    {
        $('button').attr("onclick", "extraFunction()");
    }
}, 1000);

http://jsfiddle.net/maximua/zJ3cr/