Events jQuery单击/打开(单击)事件在FF中不触发?
以下代码:一键点击事件(关闭登录框)不会在FF中触发(但是webkit浏览器可以工作。滑动切换点击事件也可以在所有浏览器中工作)。有人知道为什么吗 非常感谢您的帮助 HTML CSS 你最好用这个:Events jQuery单击/打开(单击)事件在FF中不触发?,events,javascript-events,onclick,jquery,Events,Javascript Events,Onclick,Jquery,以下代码:一键点击事件(关闭登录框)不会在FF中触发(但是webkit浏览器可以工作。滑动切换点击事件也可以在所有浏览器中工作)。有人知道为什么吗 非常感谢您的帮助 HTML CSS 你最好用这个: $(document).ready(function() { $('#menu_login').click(function() { alert('test'); // this DOES fire, works in all browsers $('#log
$(document).ready(function() {
$('#menu_login').click(function() {
alert('test'); // this DOES fire, works in all browsers
$('#loginbox').slideToggle(240,'swing');
});
$('#loginbox_close').click(function() {
alert('test'); // does not fire in FF, however webkit browser work!
$('#loginbox').slideUp(240,'swing');
});
});
它应该会起作用。这样,您就可以将单击事件直接分配到菜单“登录”和“登录框divs”中。因为您使用的是委托事件,所以单击仅在从
\loginbox\u close
弹出时才会触发
用红色勾勒出的#loginbox\u close
。单击此框,您将看到事件正在运行
并直接从上面使用代码,同时添加红色边框。如果使用ajax加载登录框,则可以使用:
$('#loginbox_close').live('click',function() {
...
});
似乎输入后面的
太多,请删除它
<div class="loginbox" id="loginbox">
<div class="loginbox_close" id="loginbox_close"></div>
...
<input type="button" value="Login" class="btn_login">
</div>
...
登录框的高度是多少?是显示:块还是内联?@Daniel Ruf:这是整个css,所以没有定义高度。。。在我得到最小高度之前,slideToggle事件在那一点停止了几毫秒…@DanielRuf:thx无论如何,有趣的一点。。。我试图添加高度属性,但不幸的是,它没有改变任何东西。。。那么,同样的结果..你试着把代码放在文件的末尾吗?@DanielRuf:Jamie的答案解决了它,谢谢Daniel!:)谢谢Abotoni,我已经尝试过直接点击,但是在这个地方它也不起作用。。。此外,我还需要使用.on,因为稍后会通过jQueryAjax加载日志收件箱,然后单击将不起作用……感谢Jamie,感谢您的回答和努力!我真的很抱歉,但我不知道这意味着什么。。。你说的听起来不错,但恐怕我完全不明白。。。抱歉..传递给函数上的的第二个参数是元素的id。这告诉click事件只有在附加到#loginbox
的事件是由于单击#loginbox\u close
而导致的情况下才会触发。我看起来像原始代码吗?但是a太多了?代码与@DanielRuf完全相同,除了我在#loginbox\u close
上加的边界。我不确定你所说的
是什么意思。我的意思是,这似乎是你回答的问题,.on
与.live
的做法相同,但是.live
有一些缺点(有一个很棒的博客,名为“活着的一切都会死”),但不幸的是,我再也没有链接了……输入的背后是什么?你是说按钮的id吗?你为什么觉得太多了?啊,非常锐利的眼睛!:)这是我的错,我遗漏了中间不必要的html元素(如..
所示),所以开头的
在点中。。。但你不可能知道,这是我的错误(复制粘贴)
$(document).ready(function() {
$('#menu_login').click(function() {
alert('test'); // this DOES fire, works in all browsers
$('#loginbox').slideToggle(240,'swing');
});
$('#loginbox_close').click(function() {
alert('test'); // does not fire in FF, however webkit browser work!
$('#loginbox').slideUp(240,'swing');
});
});
$('#loginbox_close').live('click',function() {
...
});
<div class="loginbox" id="loginbox">
<div class="loginbox_close" id="loginbox_close"></div>
...
<input type="button" value="Login" class="btn_login">
</div>