2013-12-16 35 views
0

我試圖調用內部基於一些標準循環x次(TARGET = _blank)window.open()的過程中。但它只是一次打開新選項卡。我做錯了什麼?這裏是我的代碼呼叫window.open()處理元素點擊事件

$('#spogo_' + _sp.spid).button() 
    .button('option', 
     { 
      label : 'Go to', 
      icons : { 
       primary : 'ui_icon_goto' 
      } 
     }) 
    .on('click', function(){ 
     var selRow = model._getSelectedRow($('#spt_' + this.id.split('spogo_')[1]).dataTable())[0]; 
     for(var i = 0 ; i < selRow.cells.length ; i ++){ 
      var cell = selRow.cells[i]; 
      if($(cell).hasClass('vdata_cell')){ 
        window.open($(cell).attr('data'), '_blank'); 
      } 
     } 
    }); 

我試着調試這一點,並發現if調試既不URL打開過程中會發生多次,順便說一句。

編輯: Aaahh對不起你們彈出被封鎖:d 但現在一個URL中打開新標籤頁,另外在新窗口中,我怎麼能解決這個問題?

+0

爲什麼在世界上你循環和檢查課程?只需使用選擇器來查找元素。 – epascarello

+0

$(cell).attr('data')的值是多少?我剛試過'window.open('http://www.cheese.com','_blank')',它打開了多個選項卡。 – Mark

+0

http://www.google.com :) –

回答

2

您只能指定'_blank',然後用戶瀏覽器將決定它是否在新選項卡或新窗口中,並且不能覆蓋該「功能」。

+0

:(謝謝。但點擊'Ctrl'按下它在新標籤中打開 –

+0

默認情況下,大多數瀏覽器在新標籤頁中打開'ctrl + click'鏈接 –

+0

@TomPietrosanti我們可以重寫此功能嗎? +點擊? –

1

無法解決這個問題,它是在他們的瀏覽器的用戶偏好,他們希望該鏈接被打開。從可用性的角度來看,它也不贊成強制用戶在新窗口中打開鏈接

0

檢查規範window.open。你寫的方式window.open(url, '_blank')正在創建一個名爲_blank的窗口,並且每次都在同一個窗口中打開url。嘗試通過從計數器或其他東西附加數字來更改名稱。

只要打開標籤與窗口 - 這是瀏覽器的首選項,並且您無法控制它。

+0

我編輯了帖子,現在多次打開 –

+0

這是你正在嘗試做什麼? –