日期:2014-05-16 浏览次数:20389 次
?
之前利用隐藏form提交打开新窗口的方式,被chrome干掉了,无奈,只要想出下面的方法
?
思路是利用JS的事件冒泡机制
?
clickOpenWin: function(f){ var dataKey = "clickOpenWin.dataKey" var me = $(this); var A = me.data(dataKey); var returnData = null; if(!A){ A = $("<A target='_blank' class='proxyA'>"); me.data(dataKey, A); A.click(function(e){ if(returnData){ A.attr("href", returnData); }else { A.before($(e.target)); e.stop(); } }); } me.mouseover(function(){$(this).before(A).appendTo(A);}); me.mouseout(function(){A.before($(this));}); me.click(function(){ A.attr("href", "#|"); returnData = f.apply(this, arguments); }); }