作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试弄清楚如何使用 crossroads JS,如果我在正确的轨道上,我会有点困惑。
<!DOCTYPE html>
<html>
<head>
<title>Testing Cross Roads</title>
</head>
<body>
<a href="#foo">Testing link</a>
<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="bower_components/js-signals/dist/signals.min.js"></script>
<script type="text/javascript" src="bower_components/crossroads/dist/crossroads.min.js"></script>
<script type="text/javascript">
var route1 = crossroads.addRoute('/foo', function(){
console.log("Hello");
});
</script>
</body>
</html>
当我尝试导航到 /#foo
时,我在控制台中看不到任何输出。这是它应该如何工作吗?我什至创建了一个 JSFiddle .
最佳答案
你在那个片段中有两个问题。
首先,您将路由定义为 /foo
,但在 anchor 标记中,您调用的是完全不同的 #foo
。
其次,crossroads 不会自行处理信号的调用。您必须在 onclick 或其他事件中调用 crossroads.parse('/foo')
才能导航到它。直接使用这样的 anchor 标记是行不通的。您需要覆盖 anchor 的默认行为并在路由上调用解析。
类似于:
var overrideDefaultAction = function (e) {
e.preventDefault();
crossroads.parse('/' + this.href.split('/').pop());
}
var a = document.querySelectorAll('a')
for(i=0;i<a.length;i++){
a[i].onclick = overrideDefaultAction;
}
关于javascript - 如何使用十字路口JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584058/
我有某种内存或 winsock 问题,只有在 Release模式下编译 c++ 代码时才会发生。 内存问题的证据: 通过注释掉两行代码,修复了之前未知的错误。这两行代码看似无害。它们是旧版本遗留下来的
我是一名优秀的程序员,十分优秀!