检查点击目标是否包含多个子字符串

时间:2014-09-19 22:31:37

标签: javascript onclick target

这似乎相对简单,但它给了我麻烦。我想对符合特定条件的所有点击做一些事情,所以我首先将其放在标题中:

<script type="text/javascript">window.onclick = function(e) { 
    alert(e.target);
};</script>

此提醒&#34; www.chorizo​​n.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像常规字符串一样使用它?

1 个答案:

答案 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);