【问题标题】:How to stop an event for raising如何停止引发事件
【发布时间】:2010-06-07 13:22:21
【问题描述】:

我有两个字段,一个文本框和一个 Div 元素。 我有文本框的 onblur 事件和 div 元素的 onclick 事件。 当我单击 div 元素时,会发生文本框的 onblur 事件,而不是 div 元素的 onclick 事件。当我点击 div 元素时如何抑制 onblur 事件

提前致谢

【问题讨论】:

  • onblur后是否发生点击事件?

标签: javascript-events


【解决方案1】:

尝试使用 semafore。

如果点击事件被触发,将 semafore 设置为 true 并检查 blur 事件调用中的值。如果为真 - 不执行该操作。

成功执行 click 事件后,将 semafore 重置为 false。

【讨论】:

    【解决方案2】:

    我不确定您要做什么,是否正确。 但这将通过使用名为“f”的标志来解决您的问题:

    <head>
    <script type="text/javascript">
        var f = 0;
        function f1() {
            if (f == 0)
                alert('blur');
        }
        function f2() {
            alert('click');
        }
        function f3() {
            f = 1;
        }
        function f4() {
            f = 0;
        }
    </script>
    </head>
    <body>
        <input type="text" onblur="f1();" />
        <div onclick="f2();" onmouseover="f3();" onmouseout="f4();">
            Click Me!
        </div>
    </body>
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多