var clickable = ApplyClickableLinkToClass($j(".rc_blueBtn"));
setTimeout(clickable, 1000);
但是,如果我这样称呼它,则不会弹出脚本错误:
ApplyClickableLinkToClass($j(".rc_blueBtn"));
方法如下:
ApplyClickableLinkToClass = function(selectedElements) {
// Go through each of the passed in selections and try to apply a link to them
$.each(selectedElements, function() {
var linkElement = $("a:first:not(.do-not-apply-clickable-link)", $(this));
var link = linkElement.attr("href");
if (!IsNullEmptyOrUndefined(link)) {
$(this).click(function(firstLink) {
var divToLink = firstLink;
return function() {
$(divToLink).unbind('click');
if (divToLink.attr("target") != "_blank") {
window.location = link;
return false;
}
};
}(linkElement));
}
});
}
错误只是一个js弹出窗口“此页面上的脚本中出现错误”
答案 0 :(得分:2)
您的clickable
变量设置为调用 ApplyClickableLinkToClass
函数的返回值,该函数未定义。因此,通过将clickable
传递给setTimeout
,您将传递未定义的内容。
试试这个:
setTimeout(function() {
ApplyClickableLinkToClass($j(".rc_blueBtn"))
}, 1000);
// OR
var clickable = function() {
ApplyClickableLinkToClass($j(".rc_blueBtn"))
}
setTimeout(clicable, 1000);
答案 1 :(得分:0)
setTimeout()
期望第一个参数是一个函数,或者你想要执行的源代码,作为一个字符串(这个版本通常被弃用)。但是你传递了ApplyClickableLinkToClass()
函数的结果,而不是函数本身。
你想要这样的东西:
var clickable = function() {
ApplyClickableLinkToClass($j(".rc_blueBtn"));
};
setTimeout(clickable, 1000);