【发布时间】:2015-06-11 07:04:58
【问题描述】:
我正在创建一个函数,它将接收一个 URL,然后将该 URL 显示在一个灯箱中。我在我的函数中遇到了 event.preventDefault() 的问题,它说它不是错误控制台中的函数。
我尝试过将事件显式传递给函数,但这只是在页面加载时而不是在单击时运行函数
这是我的代码:
// Function to display widget
function displaySportsWidget(event, iframeURL) {
// Prevent Default Event Handler
event.preventDefault();
// Build iFrame HTML
var iframe = '<iframe src="' + iframeURL + '" ></iframe>';
var html = iframe;
// Inject HTML to Generate Widget
$('.leagues-wrapper').html(html);
// Display Overlay
$('.leagues-overlay').css('display', 'block');
};
// Event handlers. Pass iFrame URL into function depending on link clicked
$('.leagues-link.league-table').on('click', displaySportsWidget('http://www.example01.com'));
$('.leagues-link.league-form').on('click', displaySportsWidget( 'http://www.example02.com'));
【问题讨论】:
-
当您需要将函数[未调用] 作为回调传递时,您正在调用函数(这会产生非函数结果)。
-
您可以将您的事件名称仅在参数中更改为 e 吗?我认为这与全局事件变量冲突。
-
@SimpleMan:这不是上面代码的问题。
标签: javascript jquery function events