0

我有这个表格:

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

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

所以它正在改变:

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

到:

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

怎么做?

4

2 回答 2

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);

这是小提琴但请不要使用它!无论您尝试做什么,都可以在没有 inline 属性的情况下完成。

于 2013-09-04T19:49:26.270 回答
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/

于 2013-09-04T20:00:07.963 回答