日期:2014-05-16  浏览次数:20314 次

超链接点击js控制
本帖最后由 bjb05 于 2013-10-31 18:05:15 编辑
之前问了一个问题,谢谢解答,但发现还是有异步的问题没解决,所以再开一个问题。

点击一个超链接,属性是target="_blank",能不能在打开链接前加入js方法,根据ajax异步返回的结果确认是否链接生效。
我用window.open代替,但效果不好,能不能不用window.open,还是用超链接自己的打开方式target="_blank"。

类似
<a id="c" href="#"></a>

$("#c").bind("click",function(){
$ajax(success:function(r){if(r.value) ...hyperlink works});
});

如何实现

------解决方案--------------------
我的方法是,可以做一个假链接.
------解决方案--------------------
<script> 
        function openWindow() 
        { 
var obj = document.getElementById("a1");
            obj.target="_blank"; 
            obj.href = "http://www.163.com"; 
            obj.click(); 
        } 
        </script> 

<a  href="javascript:openWindow()" id="a1">网易</a> 

------解决方案--------------------
引用:
Quote: 引用:

差11分升星星 ,靠你啦!

嗯加油,不过我要先试试,估计你的思路不能满足我,如果是按你的想法去根据异步ajax结果给超链接动态赋属性,应该不会跳转我猜,因为现在我的理解是a链接的响应是不能异步的。所以网上都用window.open是有道理的,应该是我异想天开了,用超链接异步不能实现。

为什么不能,绑定点击之后得到this,存一份,回调的时候之前保存的this指针不就是你所点击的a对象,然后调用a的click方法,为什么不能实现?