页面跳转小试 - 模拟a.click事件
2014-11-26 21:19
204 查看
想实现重定向的功能,自然使用到 window.location.href=XXX。但是这种方法实现的是在当前页面下发生的跳转,本来的需求是不影响当前页面的使用,在新的选项卡下打开目标页面。
事后的事后才发现window.open简简单单地解决了这个问题: window.open(url, "_blank", params)。可当时映入脑海的第一个想法就是 <a target="_blank">,模拟标签a的点击事件,实现新页面的跳转。想到了就要去试一下,这不,问题来了。
页面的测试元素为:
<button id="btnGo">Go To New Page</button>
<a id="lnkBaidu" href="http://www.baidu.com" target="_blank">Towards Baidu!</a>
定义事件为:
$("#btnGo").click(function(){
$("#lnkBaidu").click();
});
当点击按钮时,在新的选项卡内显示百度首页。这应该是木有一点问题的,可无论我怎么点击,页面上什么效果都没有。这是肿么回事?标签a不支持直接触发click事件? 没道理呀!又给a定义了click事件:
$("#lnkBaidu").click(function(){
alert("OK?");
});
直接点击页面上的链接,先显示对话框,然后跳转,正常。但是模拟的click,弹出了对话框,click事件触发了,但是跳转失效了?? 怎么破??
jin同学的做法是添加了span标记,这样跳转倒是成功了,但是为什么呢?
。。。终于,终于找到了说明:[<a>标签内一定要有内容,并且要模拟里面的内容被点击而不是<a></a>被点击]
虽然还是有点不明所以,但是最终的解决方案还是要出来的:(仅是文本貌似不可以,需要添加个任意的标记)
<a id="lnkBaidu" href="http://www.baidu.com" target="_blank"><b>Towards Baidu!</b></a>
模拟事件为:
$("#lnkBaidu b").click(); // or $("#lnkBaidu").children().click();
事后的事后才发现window.open简简单单地解决了这个问题: window.open(url, "_blank", params)。可当时映入脑海的第一个想法就是 <a target="_blank">,模拟标签a的点击事件,实现新页面的跳转。想到了就要去试一下,这不,问题来了。
页面的测试元素为:
<button id="btnGo">Go To New Page</button>
<a id="lnkBaidu" href="http://www.baidu.com" target="_blank">Towards Baidu!</a>
定义事件为:
$("#btnGo").click(function(){
$("#lnkBaidu").click();
});
当点击按钮时,在新的选项卡内显示百度首页。这应该是木有一点问题的,可无论我怎么点击,页面上什么效果都没有。这是肿么回事?标签a不支持直接触发click事件? 没道理呀!又给a定义了click事件:
$("#lnkBaidu").click(function(){
alert("OK?");
});
直接点击页面上的链接,先显示对话框,然后跳转,正常。但是模拟的click,弹出了对话框,click事件触发了,但是跳转失效了?? 怎么破??
jin同学的做法是添加了span标记,这样跳转倒是成功了,但是为什么呢?
。。。终于,终于找到了说明:[<a>标签内一定要有内容,并且要模拟里面的内容被点击而不是<a></a>被点击]
虽然还是有点不明所以,但是最终的解决方案还是要出来的:(仅是文本貌似不可以,需要添加个任意的标记)
<a id="lnkBaidu" href="http://www.baidu.com" target="_blank"><b>Towards Baidu!</b></a>
模拟事件为:
$("#lnkBaidu b").click(); // or $("#lnkBaidu").children().click();
相关文章推荐
- 自己写的,跳转到xx页面后,自动触发特定button的click事件
- gridview 单击行事件,并跳转页面带本行的ID
- jquery 获取页面url,并根据url模拟单击事件
- gridview鼠标双击事件(跳转至新页面并传值)单击获取值
- 新增Activity、页面传值跳转和点击按钮触发事件『Android系列九』
- JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参(selected的值和页面其它元素的值)以及js的select
- 关于页面.do事件的跳转方法
- C#里,如何模拟DataGridView里的一个Cell的Click事件。
- JS 页面控件的操作、以及页面在一段时间内不操作就跳转、页面事件列表
- jquery给页面上的iframe添加click或者是focus事件
- JS 页面控件的操作、以及页面在一段时间内不操作就跳转、页面事件列表
- IFRAME弹出式窗口回发数据到父页面[调用父页JS方法并模拟调用按钮的回发事件]
- IFRAME弹出式窗口回发数据到父页面[调用父页JS方法并模拟调用按钮的回发事件]
- windows phone mango 页面跳转事件顺序
- jquery 为整个页面绑定click事件,获得当前所在div
- 跳转页面后,不需继续执行后面所有的代码包括事件
- 关于页面不包含"事件_Click"的定义 并且找不到可接受页面类型的第一个参数的扩展方法"事件_Click" 的解决方案
- Windows Phone 页面跳转事件调用顺序
- asp.net页面事件执行顺序(转+原创补充) Button1_Click处理返回数据前还有其他处理!!!例如onPreLoad
- 模拟js的首页动态推荐页面 Gallery 自动播放 无限循环 指示器显示 点击事件