【问题标题】:How JQuery events triggered depending on BrowserJQuery 事件如何根据浏览器触发
【发布时间】:2014-04-23 05:49:11
【问题描述】:

我的代码中有一个复选框“chk”。我有复选框的 onclick 事件,在 jQuery 中我有(chk).change(function)。现在奇怪的是在 FireFox 中,先执行 onclick 函数,然后执行 change 函数。但在 Chrome/IE 中,更改功能首先执行,然后执行 onclick 功能。任何人都可以帮助解释为什么会这样。

【问题讨论】:

  • 向我们展示小提琴然后只有我们可以帮助你... ....您可以选择使用 setTimeout() 方法 ....

标签: javascript jquery .net browser dom-events


【解决方案1】:

您的问题很有趣,在进行测试时我注意到即使使用与此类似的代码,问题仍然存在。
在 Chrome 中,onclick 事件在 onchange 后触发,而且我们恢复输入类型中的事件,问题仍然存在

<input name="" type="checkbox" onChange="second()" onClick="first()"   >
<script type="text/javascript">
function first(){
    console.log('first')
    }
function second(){
    console.log('second')
    }
</script>

我尝试向社区提问 (this)
但是,直到现在,我还没有收到答案。
我能给你的唯一答案是你的问题可以通过使用onclick而不是onMouseDown来解决

<input name="" type="checkbox" value="" id='chk'  onMouseDown="first()">
<script type="text/javascript">
function first(){
    console.log('first')
    }
$(document).ready(function(){
    $('#chk').on('change',function(){
        console.log('second')
    })
})
</script>

很抱歉不能为您提供更多帮助,
但这就是我所能做的,对不起我的英语,再见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2018-08-08
    • 2011-04-22
    • 2013-10-06
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多