作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开展一个 Cordova 项目。我有一些带有监听器的链接,href 设置为“#”。
现在,在我的所有函数中,我提供事件并调用 PreventDefault()。
由于某种原因(在浏览器中访问应用程序时)。它仍然会导航到/#。这会导致浏览器打开一个新选项卡。
我之前使用过 javascript:void(0) ,它工作得很好,但它在 Windows Phone(Metro 应用程序)上抛出了一个错误列表。因为 javascript: 无效。
有人知道我应该如何解决这个问题吗? (我使用 jQuery 和简单的 HTML5 来实现这一点)。
例如:
/**
* Toggle the menu
*/
toggleMenu: function(e) {
if (e) {
e.preventDefault();
}
App.Core.menuOpen ? App.Core.hideMenu() : App.Core.showMenu();
return false;
},
所以我们像这样绑定(bind)事件,所以当它动态添加时它仍然有效。
$(document).on("click", ".header-menu", App.Core.toggleMenu);
带有一些 strip 的html
<div class="page" data-init="App.Functions.Purchase.init()">
<div id="panel-purchase" class="panel" data-init="App.SomeModule.init()">
<div class="panel-header">
<div class="panel-header-inner">
<a href="#" class="button header-menu"><span class="icon icon-menu"></span></a>
<div class="panel-header-title"><span>Some Title</span></div>
<span class="button dummy"></span>
</div>
</div>
...
最佳答案
只要我没有得到更好的解决方案,目前我不使用 href
它是 HTML5 中的一个标准,尽管有些网站提示它可能以自身为目标。它对于混合应用程序来说效果很好,在这种情况下我从未见过它针对自身。
更好的解决方案总是更好,源代码中一定有一些令人讨厌的东西(它最初是由第三方创建的)。
关于javascript - 使用 hashbang 锚定,preventDefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544171/
我是一名优秀的程序员,十分优秀!