Chrome 会以<a>编程方式"clicked"链接时忽略代码的目标参数



我有一个项目是用Django, Dojo和JS实现的。整个星期我都在为这个问题绞尽脑汁,但在网上找不到任何关于问题所在的提示。希望这里有人也遇到过这个问题,能对这个问题提出一些建议。

我有一个无序列表

    类似如下:
    `````
    <ul>
    <li><a target="displayArea" id="pre-select" href="foo.html>Foo</a></li>
    <li><a target="displayArea" href="bar.html">Bar</a></li>
    <li><a target="displayArea" href="baz.html">Baz</a></li>
    </ul>
    ```
    

    代码中的是目标iframe:

    ```
    <iframe style="border: none;" name="displayArea" id="displayArea" width="100%" height="95%" title="Report Area"></iframe>
    ```
    

    当我把鼠标移到"Foo"它像预期的那样工作,"显示在上面所示的iframe中。但是,如果我执行紧跟在

之后的脚本代码中:
<script>
window.document.getElementById('pre-select').click();
</script>

"Foo"不显示在iframe中,而是短暂地出现在主机窗口框中,然后消失。我不确定为什么直接点击链接会有不同,因为它出现在

    或者执行脚本<这就产生了"点击"以编程方式。>如有任何见解,不胜感激。

    如问题描述中所述,当脚本

    时,我希望链接出现在目标iframe中:
    <script>
    window.document.getElementById('pre-select').click();
    </script>
    

    被执行,但它没有出现在iframe中。如果用鼠标点击链接,它会按预期工作。

我能够完成我所需要的通过添加一个onload到我的HTML,像这样:

<body onload="document.getElemenById('pre-select').click()">

这正是我所需要的,当用户不可避免地改变主意时,可以很容易地更改:)

感谢epascarello和markfila的帮助,为我指明了正确的方向。

最新更新