澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

模拟用户单击事件,IE下跳转失效的解决方法【澳

$("a").click(function(){
setTimeout(function(){
window.location.href = "xxx.html";
},100);
})

<meta http-equiv="refresh" content="20;url=;

实例如下: 效果图 IE...

原因可能是因为在href中的javascript:void(0)阻止的事件行为,解决方法如下:

//子窗口刷新父窗口

<body>
    <h3>请单击”Click Me"。测试提交按钮与超链接是否也被单击了。</h3>
    <button id="btn">Click Me</button>
    <form action="#">
        <input type="text" name="userName" value="徐新华-polaris" readonly/>
        <input id="submit" type="submit" value="别点击此按钮提交" onclick="alert('触发了提交按钮的单击事件!');"/>
    </form>
    <a id="aLink" href="" target="_self" onclick = "alert('触发了超链接的单击事件!');">代码触发超链接</a>
</body>

复制代码 代码如下:

复制代码

<h3>请单击”Click Me"。测试提交按钮与超链接是否也被单击了。</h3>
    <button id="btn">Click Me</button>
    <form action="#">
        <input type="text" name="userName" value="徐新华-polaris" readonly/>
        <input id="submit" type="submit" value="别点击此按钮提交" onclick="alert('触发了提交按钮的单击事件!');"/>
    </form>
    <a id="aLink" href="" onclick = "alert('触发了超链接的单击事件!');">代码触发超链接</a>

复制代码 代码如下:

2.页面自动跳转:把如下代码加入<head>区域中

复制代码 代码如下:

2.延迟100毫秒

3.页面自动刷新js版

在IE中一测试,通过了……有点兴奋。可是,在fireFox中却提示:click()不是一个function。说真的,IE浏览器提供的东西对开发人员来说很好,而fireFox却没有,比如之前说到的onpropertychange等。不过,我们必须的考虑IE之外的浏览器。在网上查资料,有不少人提到在fireFox中要用代码触发一个事件,需要如下处理:

代码如上,在IE下,特别是在IE6中,点击超链接之后,浏览器并没有发生跳转行为。

•firefox 所有示例刷新正常
•chrome 示例2刷新无效
•opera 所有示例刷新正常
•IE 所有示例刷新正常,示例2会在地址栏增加“#”字符

复制代码 代码如下:

1.在onclick事件中加return false来阻止冒泡:

<body onload="opener.location.reload()"> 开窗时刷新
<body onUnload="opener.location.reload()"> 关闭时刷新

复制代码 代码如下:

<a href="javascript:void(0)" >GoNext</a>
$("a").click(function(){
window.location.href = "xxx.html";
})

其中20指每隔20秒刷新一次页面.

复制代码 代码如下:

$("a").click(function(){
window.location.href = "xxx.html";
reutrn false;
})

<script language=JavaScript>
self.opener.location.reload();
</script>
( 或 <a href="javascript:opener.location.reload()">刷新</a> )

                // 绑定单击事件
                $("#aLink").click(function()
                {
                    window.open($(this).attr("href"),$(this).attr("target"));
                });

复制代码 代码如下:

复制代码

            // 触发单击事件
            $("#aLink").click();
        }
    });
});

 代码如下

$(function()
{
    $("#btn").click(function()
    {
        $("#submit").click();

 代码如下

虽然实现了这个例子,然而,运用到项目中却出问题了,因为项目中使用了frameset(虽然现在很多人不建议使用frameset,但项目用了也没办法,得这样做)。因此需要指定链接的目标url在哪个frame中显示,然而,通过<a>中的target是无法实现的,因为<a>根本不会执行默认行为,需要通过js来实现。

复制代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JavaScript模拟用户单击事件——徐新华 polaris</title>

复制代码

也许jQuery中的click()方法对超链接的单击事件并没有使其执行浏览器的默认行为(即使你手动加入return true也没有用)。注意:tigger("click")与click()一样的。jQuery文档中说“这个函数也会导致浏览器同名的默认行为的执行”。同名的?不太明白,但是超链接的确不能执行它的默认行为。这是,只能想另外的方法——抛弃jQuery提供的事件。

 代码如下

复制代码 代码如下:

复制代码

其中,'view'是超链接url希望放入的frame的name或id(最好是id和name命名一样)。建议IE中别用上面的方法,而用前面介绍的click()方法。

//如何刷新另一个框架的页面用
<script language=JavaScript>
parent.另一FrameID.location.reload();
</script>

var evt = document.createEvent("MouseEvents");
evt.initEvent("click", false, false);// 或用initMouseEvent(),不过需要更多参数
$("#aLink").get(0).dispatchEvent(evt);

 代码如下

回到JavaScript自己的事件——click。代码如下:

本文由澳门皇冠金沙网站发布于前端开发,转载请注明出处:模拟用户单击事件,IE下跳转失效的解决方法【澳