国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - js操作新開(kāi)頁(yè)面會(huì)被攔截,如何解決?
高洛峰
高洛峰 2017-06-30 09:56:28
0
8
981

頁(yè)面上一個(gè)按鈕,有個(gè)onclick事件,點(diǎn)擊觸發(fā)js,發(fā)送ajax請(qǐng)求到後臺(tái),後臺(tái)經(jīng)過(guò)一系列判斷,返回url到j(luò)s

<a class="a" id="k_id" href="javascript:void(0);" onclick="test($(this),id1,id2);"></a>
function test(){
    //發(fā)送ajax請(qǐng)求...返回一個(gè)url
    var url = "ajax請(qǐng)求返回的url";
    
    //js操作將返回的url賦值到頁(yè)面上的a標(biāo)簽,然后js模擬a標(biāo)簽點(diǎn)擊事件
    $(oElement).attr("href",url);
    $(oElement).removeAttr("onclick");
    var id = $(oElement).attr("id");
    document.getElementById(id).click();//這里點(diǎn)擊a標(biāo)簽
    
    //這樣的操作會(huì)被瀏覽器攔截,
}

求解

#
高洛峰
高洛峰

擁有18年軟件開(kāi)發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

全部回覆(8)
曾經(jīng)蠟筆沒(méi)有小新

你可以直接跳到該url吧,為啥要模擬點(diǎn)擊, 直接 window.location.href = url

洪濤

onclick監(jiān)聽(tīng)了click事件,這樣就先觸發(fā)呼叫test方法,一直重複呼叫了,一直觸發(fā)不了herf跳轉(zhuǎn)

漂亮男人

發(fā)送ajax之後,不用模擬a標(biāo)籤點(diǎn)擊事件,直接location.href = 需要跳轉(zhuǎn)的url 就可以了

給我你的懷抱

跳轉(zhuǎn)頁(yè)時(shí),沒(méi)有必要去除 aonclick 事件;
需要去除的話當(dāng)前方式直接 t.onclick = null; 即可

<a class="a" id="k_id" href="javascript:void(0);" onclick="test(this)">123123</a>
function test(t) {
    var url = "http://www.baidu.com";
    t.setAttribute("href", url);
    t.onclick = null;
    t.click();
}
某草草

可以試試看
新開(kāi)頁(yè):window.location.href = url;
新開(kāi)視窗:window.open(url);

ringa_lee

直接用window.location.href不是更好嗎?

世界只因有你

a標(biāo)籤有預(yù)設(shè)的click事件,估計(jì)onClick與預(yù)設(shè)事件衝突了。

漂亮男人

是因?yàn)橛?strong>非同步操作,瀏覽器會(huì)攔截 window.open()

可以把 ajax 改成同步,或是想辦法前端計(jì)算 url。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板