【发布时间】:2017-07-07 19:15:55
【问题描述】:
我知道这个网站的其他地方以及许多其他地方已经介绍了这一点,但我似乎无法弄清楚。
我有一个用于显示灯箱表单的锚标记:
<a id="aNoData" href="#divNoData" class="fancybox">No Data</a>
我想使用 javascript 函数点击它:
function fnNoData()
{
// This line works
alert("this line works");
// Neither of these lines work
$('#aNoData').click();
document.getElementById('aNoData').click();
}
我从后面的代码中调用函数,如下所示:
ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "fnNoData()", true);
当我这样做时,第一行(警告框)显示正常。但是,其他两行(单击锚标记)没有。如果我将非工作行放在我的 $(document).ready 块中(锚点在页面加载时单击),它们会很好地工作。所以似乎点击我的锚点的线条工作正常,只是不在我的功能中。
谁能看出我做错了什么?
【问题讨论】:
-
“如果我将它们放在我的 $(document).ready 块中,效果很好” 如果它们在那里工作正常,那么你当前调用它们的位置被调用得太早了,表示该元素尚不存在,或者灯箱库还没有时间为该元素设置自己的功能
-
尝试在页面底部的脚本中添加您的函数。
-
好的,帕特里克,谢谢,我确实尝试将整个函数放在我的 $(document).ready 块中,但它根本不起作用。您能提出解决方案吗?
-
谢谢Difster,我之前试过了。结果相同。
-
将整个函数放在就绪块中会使其作用于该块,因此无法在该块之外调用(您会看到 "fnNoData is not a功能错误” 控制台中的消息。)
标签: javascript jquery html function anchor