当前位置:  开发笔记 > 编程语言 > 正文

Internet Explorer中的jquery show()/ hide()问题?

如何解决《InternetExplorer中的jqueryshow()/hide()问题?》经验,为你挑选了2个好方法。

以下html代码适用于Firefox,但由于某种原因在IE中失败(Label2未显示).这是一个错误还是我错过了什么?

任何帮助,将不胜感激.



    
        
        
        
    
    
        
            
            
        
        
            
        
    

Shog9.. 15

原因:

根据MSDN,更改事件是

...在提交内容时触发,而不是在值发生变化时触发.例如,在文本框中,在用户键入时不会触发此事件,而是在用户通过保留具有焦点的文本框提交更改时触发.

复选框的行为类似:在IE中,事件不会触发,直到从元素中移除焦点(尝试它:单击然后选中复选框,行为与预期一致).Firefox显然不尊重这种区别.

解:

使用click事件处理程序而不是change:

            $("#check").click(setVis);

......并且浏览器的行为应该是一致的.



1> Shog9..:

原因:

根据MSDN,更改事件是

...在提交内容时触发,而不是在值发生变化时触发.例如,在文本框中,在用户键入时不会触发此事件,而是在用户通过保留具有焦点的文本框提交更改时触发.

复选框的行为类似:在IE中,事件不会触发,直到从元素中移除焦点(尝试它:单击然后选中复选框,行为与预期一致).Firefox显然不尊重这种区别.

解:

使用click事件处理程序而不是change:

            $("#check").click(setVis);

......并且浏览器的行为应该是一致的.



2> cLFlaVA..:

请记住,在选中复选框后会触发onchange事件,然后保留复选框.您是否尝试检查它,然后单击文档上的其他位置?

您可能希望在jQuery中使用click和keypress事件(通过单击和空格键检查框).

你有没有理由在你的文档准备段落中声明/定义一个函数,而不是在它之外?

还有一个编辑; 我可以推荐这个更时尚的代码:

jQuery(document).ready(function(){
    $("#g_1").hide();
    $("#check").change(function() { $("#g_1").toggle(); });
});

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有