【发布时间】:2013-12-16 19:01:34
【问题描述】:
我正在尝试根据某些标准在循环 x 次 (target=_blank) 内调用 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。
编辑: 抱歉,弹出窗口被阻止了:D 但是现在一个网址在新标签中打开,另一个在新窗口中,我该如何解决这个问题?
【问题讨论】:
-
你到底为什么要循环和检查一个类?只需使用选择器来查找元素。
-
$(cell).attr('data') 的值是多少?我刚试过
window.open('http://www.cheese.com', '_blank'),它会打开多个标签。 -
google.com :)
-
@Mark 也许原因是我在 click() 事件处理程序中调用?
-
@ArsenAlexanyan 应该没什么区别,你的网址是完全格式化的吗?
标签: javascript jquery jquery-ui