外事件我有我的ASPX页面下面的按钮 -附加到点击
$('#btnHello').click(function() {
alert('Hi there');
});
但是我想这个事件进入我的global.js文件,按预期工作,并提出了警告,具有完全相同的逻辑。我在我的ASPX页面的顶部引用这个文件,但事件没有被触发。我怎样才能做到这一点?
外事件我有我的ASPX页面下面的按钮 -附加到点击
$('#btnHello').click(function() {
alert('Hi there');
});
但是我想这个事件进入我的global.js文件,按预期工作,并提出了警告,具有完全相同的逻辑。我在我的ASPX页面的顶部引用这个文件,但事件没有被触发。我怎样才能做到这一点?
你执行什么是功能,在开始的时候:
$('#btnHello').click(function() {
alert('Hi there');
});
你钩住你的警报功能元素#btnHello
。
但在它执行的时候,#btnHello
尚未加载。它还不存在。所以没有什么可以吸引人的。
您可以通过在最后执行的代码,或(更可靠,我认为)推迟这个代码的执行解决这个问题或者直到文档加载完成:
$(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
});
你会把这你的global.js,但它不会执行,直到你的页面被完全加载。
使用事件代表团:
$(<parent_of_btnHello>).on("click", "#btnHello", function() {
alert('Hi there');
});
..where <parent_of_btnHello>
应添加了处理程序时所加载的元件。例如:
$("body").on("click", "#btnHello", function() {
alert('Hi there');
});
它也可以是$(document)
或$("html")
或你的按钮中的任何容器,加载的执行从global.js
文件的代码。
您可以检查this answer了。
另一种方法是把你的初始代码的$(document).ready(function() { ... });
内:
$(document).ready(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
});
很可能是当你想要绑定的事件没有这样的元素。
尝试来包装你的代码的document.ready
$(function() {
$('#btnHello').click(function() {
alert('Hi there');
});
})