按Enter键时,parent.alert事件不会触发

时间:2013-08-13 09:11:53

标签: javascript html javascript-events

我有一个主jsp页面,其中使用

修改了警报功能
window.alert=function(txt)

在其他jsp页面中使用iframe加载到同一文档中。在大多数这些页面中使用parent.alert来保持一致性。

这是我正在使用的一段代码

<div onkeypress="handlekey()">
    <button id='done' onclick="example()" >submit</button>
</div>

脚本部分如下

<script>
    function handlekey(){
        if ((window.event) && (window.event.keyCode == 13))
        {
            // click the search button
            done.click();
        }
    }
    function example(){
        parent.alert('Done');
    }
</script>

如果我按下回车键但在点击按钮时被解雇,则不会触发警报。 当我用alert替换parent.alert时,警报也会被触发。

1 个答案:

答案 0 :(得分:0)

这对我来说很好用:

<强>的index.html

<html>
<head>
    <script>
    window.alert = function(){
        console.log('My alert');
    }
    </script>
</head>
<body>
    <iframe src="iframe.html" id="myIframe"/>
</body>
</html>

<强> Iframe.html的

<html>
<head>
    <script>
    function handleEvent() {
        if ((window.event) && ((window.event.keyCode == 13) || window.event.type == 'click')) {
            example();
        }
    }

    function example(){
        parent.alert();
    }
    </script>
</head>
<body>
    <div onkeypress="handleEvent()">
        <button id='done' onclick="handleEvent()" >submit</button>
    </div>
</body>
</html>