我正在将一些<ul>
转换<select>
为小型设备,如下所示:
$("#blog aside .widget, #blog-single aside .widget").each(function() {
var widget = $(this);
$("<select />").appendTo(widget);
/* option en blanco*/
$("<option />", {
"value" : '',
"text" : widget.find('h3').text()+'..'
}).appendTo(widget.find('select'));
widget.find('ul li a').each(function(){
var el = $(this);
$("<option />", {
"value" : el.attr("href"),
"text" : el.text()
}).appendTo(widget.find('select'));
});
});
我想在新标签中打开这个链接,这就是我正在尝试的方式:
$("#blog select, #blog-single select").change(function() {
var url = $(this).find("option:selected").val();
/* simulamos target _blank, ya que son externos */
var a = document.createElement('a');
a.href= url;
a.className = 'external';
a.target = '_blank';
document.body.appendChild(a);
a.click();
});
wich 似乎在 Firefox 中完成了这项工作,但在 chrome 中我收到了被阻止的弹出警告(它不会考虑用户是否点击而不是用 JS 模拟它
有什么解决方法吗?