0

我有一个脚本,可以在单击浏览器屏幕时重新加载 iframe(完美运行)。我想知道如何禁用 javascript 在某些链接上运行?

这是我当前的脚本:

document.onclick= function(event) {
    if (event===tichack) event= window.event;
    var target= 'target' in event? event.target : event.srcElement;

   document.getElementById("tichack").src = "http://link.com?"+(+new Date());
};

我想的例子是这样的?(显然不正确)但会让您更好地了解我想要实现的目标,是否分配了搜索但没有运气?:

onclick="javascript:disabled=true;"
4

3 回答 3

1

基本上,您需要确定您的点击目标是什么,如果目标等于您不想触发它的链接之一,则从函数返回而不刷新 iframe。

var links = /* a collection of elements you don't want triggering the iframe refresh */,
    count = links.length,
    i;

for (i = 0; i < count; i += 1) {
    if (target === links[i]) {
        return;
    }
}
于 2013-05-22T13:45:00.287 回答
0

你可以这样做:

document.onclick = function (event) {
    event = event || window.event;
    if (event.target.id != 'tichack') return;
    document.getElementById("tichack").src = "http://link.com?" + (+new Date());
};

在这里,文档点击事件tichack仅适用于链接。

简单的演示在这里

于 2013-05-22T13:42:17.580 回答
0

有两种方法:

  • 在document.onclick中,检查目标元素是否是某个链接,然后什么都不做。IEif (target.id == '...') { return; }
  • 确保点击永远不会到达 document.onclick。由于 DOM 事件模型的工作原理,如果您在低级别(即在链接本身)取消 onclick 事件,它不会冒泡并到达 document.onclick。所以下面的代码有效:

    <a href='...' onclick='return false;'>click here!</a>

有关DOM 事件模型的更多信息,请参阅http://bitovi.com/blog/2010/10/a-crash-course-in-how-dom-events-work.html !

于 2013-05-22T13:44:28.480 回答