javascript:void(0)的问题

本文详细介绍了在使用jQuery-easyUI插件时,当通过windows.open()打开新窗口并包含特定插件时,可能会导致空白页面的出现,并提供了一个解决方案:在页面中添加<BASE target=_self>标签。此方法避免了按钮事件继续传递,从而解决了IE6中的问题。

以下问题只在IE6中才会发生。

前段时间在项目中使用了jquery-easyui插件,当采用windows.open()弹出一个页面后,如果页面中使用一些插件,比如:日历控件,弹出日历,选择日期后点击确定按钮,然后程序正常执行,但是会弹出一个空白页面,状态条显示错误:javascript:void(0)这样的信息,折腾了好久。

后来发现应该是按钮事件在处理完成后没有能够阻止超链接的事件继续传递,如果在函数结束时候执行return false; 来阻止就不会有问题了,无奈哪些脚本是jquery-easyui的,我无法去逐个修改,而且也不利于将来的升级,后来不知道在哪里发现了一个解决办法,现在还忘记了。办法如下:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<BASE target=_self>
关键是在页面中添加<BASE target=_self>

这样问题就解决了。

### JavaScript 中 `javascript:void(0)` 的用法及意义 #### 基本定义与作用 `javascript:void(0)` 是一种特殊的 JavaScript 表达式,主要用于返回未定义的结果 (undefined),并常用于 HTML 超链接 (`<a>` 标签) 或其他事件处理场景中以防止默认行为的发生。通过这种方式可以有效避免页面跳转或其他不必要的操作[^1]。 #### 防止超链接的默认行为 当 `<a>` 标签被点击时,默认情况下会触发浏览器导航到指定 URL 地址的行为。如果希望阻止这种默认行为,则可以在 `href` 属性中设置为 `javascript:void(0);` 。例如: ```html <a href="javascript:void(0)" onclick="alert('Link clicked')">Click Me</a> ``` 上述代码片段展示了如何利用 `javascript:void(0)` 来停止链接跳转的同时执行自定义函数逻辑[^2]。 #### 应用于表单提交控制 除了管理链接外,在某些情形下也需要抑制表单提交动作。此时也可以采用类似的机制来实现这一目标: ```html <form onsubmit="return false;"> <input type="text" name="username"> <button type="submit">Submit</button> </form> <!-- or --> <form onsubmit="void(0);"> <input type="text" name="username"> <button type="submit">Submit</button> </form> ``` 这两种方法都可以有效地中断标准的表单递交流程,并允许开发者自行编写验证或者异步请求等相关业务逻辑[^3]。 需要注意的是虽然这种方法广泛应用于早期Web开发实践中,但在现代前端框架和库日益普及的情况下,推荐更多地依赖于这些工具所提供的更强大灵活的功能集来进行交互设计而非直接操纵DOM属性. ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值