0
function RequestTickets(url) {
var settings = 'height=500,width=400,location=no,resizable=no,scrollbars=no,status=no,
    titlebar=yes,toolbar=no';
var newwindow = window.open(url, '-- Ticket Request Form --', settings, false);
if (window.focus) { newwindow.focus() };
return false;
}

我有上面的 javascript 被 umbraco 页面中的以下 html 代码调用。

<a href="javascript:RequestTickets('/us/home/requestform.aspx')">here</a> to request tickets for an event.

我不断收到一个 javascript 错误,说 newwindow 未定义。很困惑为什么它会一直发生,因为我已经明确定义了它!请帮忙

4

1 回答 1

1

通常我通过addEventListener(在大多数情况下使用jQuery事件)而不是在html中创建html元素和javascript函数之间的绑定。

document.getElementById('action-request-tickets').addEventListener('click', function(event){
    event.preventDefault();

    var settings = 'height=500,width=400,location=no,resizable=no,scrollbars=no,status=no,titlebar=yes,toolbar=no';
    var newwindow = window.open(this.href, '-- Ticket Request Form --', settings, false);
    if (window.focus) { 
        newwindow.focus() 
    };
    return false;
});

http://jsfiddle.net/DvHnP/

好处:你可以重用这个函数,因为它从这个(id为action-request-tickets的元素)中获取href

于 2013-10-31T14:23:29.103 回答