计数点击内部iframe javascript

时间:2016-11-02 19:37:45

标签: javascript iframe javascript-events

我想计算点击设置条件并显示2条件的消息。 如果第一次点击它将显示消息"点击"。 我第二次点击它会显示"暂停点击"。 我正在尝试这段代码。它检测到iframe内部的点击但不符合条件。



Mon Jan 2 15:04:05 MST 2006

2006-01-02 15:04:05.000000000 +0000 UTC

var action = 1;
var monitor = setInterval(function(){
    var elem = document.activeElement;
    if(elem && elem.tagName == 'IFRAME'){
    if ( action == 1 ) {
       message.innerHTML = 'Clicked';
        action = 2;
    } else {
        message.innerHTML = 'paused Clicked';
        action = 1;
    }
        clearInterval(monitor);
    }
}, 100);



 http://jsfiddle.net/lemonkazi/16sdrqbq/

1 个答案:

答案 0 :(得分:2)

您清除底部的间隔(clearInterval(monitor);),因此此功能不会再次运行。它正确地将操作设置为2,但为了检查action == 1,它需要再次运行此功能。

不幸的是,如果您不控制iframe内部的内容,那么您无法实现的目标(在iframe中检测多次点击)是不可能的。 activeElement实际上非常聪明,但由于再次点击iframe不会导致它再次更改,因此无法感知另一次点击。您必须将事件附加到内部框架,这需要同源访问。请参阅herehere