onclick =“location.href ='link.html'”不会在Safari中加载页面

问题描述 投票:36回答:6

我无法让onclick="location.href='link.html'"在Safari(5.0.4)中加载新页面。

我正在使用<select><option> HTML标记构建一个下拉导航菜单。我在点击菜单项后使用onclick处理程序加载新页面,但在Safari中没有任何反应。 (我已经在FF和Opera中成功测试了。)我知道Safari中有很多onclick错误,但我没有找到解决这个特定问题的任何解决方案。

您可以在下面看到我的代码示例:

<select>
    <option onclick="location.href='unit_01.htm'">Unit 1</option>
</select>

<select>
    <option onclick="location.href='#5.2'">Bookmark 2</option>
</select>

我不(并且不愿意)在我的HTML的head部分中嵌入任何javascript。我正在为不知道如何使用javascript的人开发页面 - 所以代码越简单越好。) 什么JavaScript代码可以使菜单项在所有浏览器中都可点击? (请验证与IE的兼容性。)

javascript html safari onclick
6个回答
32
投票

使用jQuery ....我知道你说你正在尝试教某人javascript,但教他一种更清洁的技术...例如,我可以:

<select id="navigation">
    <option value="unit_01.htm">Unit 1</option>
    <option value="#5.2">Bookmark 2</option>
</select>

使用一点jQuery,你可以做到:

$("#navigation").change(function()
{
    document.location.href = $(this).val();
});

不引人注目,并且清晰地分离逻辑和UI。


113
投票

试试这个:

onclick="javascript:location.href='http://www.uol.com.br/'"

在Firefox,Chrome和IE中为我工作得很好(哇!!)


4
投票

放手一搏:

<option onclick="parent.location='#5.2'">Bookmark 2</option>

3
投票

你可以试试这个:

 <a href="link.html">
       <input type="button" value="Visit Page" />
    </a>

这将在链接中创建按钮,它可以在任何浏览器上运行


1
投票

我有同样的错误。确保你没有任何<input><select>name="location"


0
投票

尝试

<select onchange="location=this.value">
    <option value="unit_01.htm">Unit 1</option>
    <option value="#5.2" selected >Bookmark 2</option>
</select>
© www.soinside.com 2019 - 2024. All rights reserved.