这似乎相对简单,但它给了我麻烦。我想对符合特定条件的所有点击做一些事情,所以我首先将其放在标题中:
<script type="text/javascript">window.onclick = function(e) {
alert(e.target);
};</script>
此提醒&#34; www.chorizon.com/link?page = 155&#34;。现在,这有效:
<script type="text/javascript">window.onclick = function(e) {
var test="www.chorizon.com/link?page=155";
if((test.indexOf("link") > -1) && (test.indexOf("page=155") > -1)){
alert('yes')
}
};</script>
那么为什么这不起作用?
<script type="text/javascript">window.onclick = function(e) {
if((e.target.indexOf("link") > -1) && (e.target.indexOf("page=155") > -1)){
alert('yes')
}
};</script>
我是否需要做一些事情来e.target像常规字符串一样使用它?
答案 0 :(得分:0)
您之所以感到困惑是因为 alert()不是调试工具,您真正得到的对象包含对DOM元素的引用,而不是字符串,它只是转换为字符串,因为alert
无法显示对象,并且该对象没有indexOf
方法!
开始使用控制台进行调试。
不确定你想要获得什么,但它看起来像一个URL,所以我猜它是一个锚的href属性,但这会重定向页面,因此不确定性?
document.addEventListener('click', function(e) {
var url = e.target.href || '';
if( url.indexOf("link") > -1 && url.indexOf("page=155") > -1) {
alert('yes')
}
}, false);