更好的方法来写这个弹出函数
Better way to write this popup function?
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "',
'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=600,left=600,top=300');");
}
<a href="javascript:popUp('http://google.com')">Open the Popup Window</a>
这是我现在的代码。我想改变它,以便它针对一个特定的类,如"弹出"和所有与该类的链接生成一个弹出窗口与链接在href
.
就像这样:
<a class="popup" href="http://google.com">Open the Popup Window</a>
我该如何做到这一点?
最好的优化是删除它,让访问者决定是否要在新窗口中打开链接。至少,将代码移动到侦听器:
<a href="http://google.com" onclick="return popUp(this.href);">Open the Popup Window</a>
然后在弹出函数中,如果函数正确执行,则返回false。
function popUp(URL){
day = new Date();
id = day.getTime();
window.open(URL,'"+id+"','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=600,left=600,top=300');
}
很抱歉来晚了,但这是我的两分钱:
用jquery做你的例子
<a class="popup" href="http://google.com">Open the Popup Window</a>
你可以使用:
var page = [], id=0;
$('.popup').click(function(e){
e.preventDefault();
// add to array of open popups
page.push(window.open(this.href,"page"+id,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=600,left=600,top=300'));
id++;
return false;
});
然后你可以使用类似这样的命令来关闭弹出窗口。
$('button').click(function(e){
page.reverse();
page.pop().close();
page.reverse();
});
相关文章:
- 如何确保函数/方法参数为certian类型
- Javascript中对象中的函数方法
- Object.assign(),函数方法和内存使用
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- Angular promise回调不是在构造函数方法内部触发,而是在对象文本方法中触发
- 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些函数/方法
- 在ES2015中定义一个类,构造函数方法是什么以及为什么它是必不可少的
- 如何调用通过它传递不同 ID 的函数方法
- Sencha ExtJs 为什么从“构造函数”方法返回“this”
- 这个 JavaScript 函数方法调用了什么
- 如何在 javascript 中从子原型调用父类的构造函数方法
- 是否仍可访问被覆盖的函数/方法
- 在构造函数之外更改 JavaScript 中的构造函数方法
- 这种实例化构造函数方法的风格是什么
- 如何在 JavaScript 中使用继承与构造函数方法一起使用 返回具有私有属性的对象文本
- 我的javascript构造函数方法以文本形式返回整个方法,而不是预期的返回值
- 如何在事件中将变量传递给构造函数方法
- 如何限制用户在ui ace编辑器中只能编写一个javascript函数(方法)
- 打印任何java应用程序的函数/方法调用序列
- 如何在jQuery语句中使用Javascript构造函数方法