Javascript onClick事件未触发
我正在尝试使用Javascript来控制web表单。下面是我所有的Javascript代码以及我试图实现的内容Javascript onClick事件未触发,javascript,Javascript,我正在尝试使用Javascript来控制web表单。下面是我所有的Javascript代码以及我试图实现的内容 $(document).ready(function(){ function loadPage(url){ $(".body").fadeOut(400, function(){ $(".body").load(url); $(".body").fadeIn(400); }); }
$(document).ready(function(){
function loadPage(url){
$(".body").fadeOut(400, function(){
$(".body").load(url);
$(".body").fadeIn(400);
});
}
loadPage("pages/login.html");
$("#button").on("click", function(){
var pageTo = this.name;
loadPage("pages/" + pageTo + ".html");
});
});
代码稍后将执行更复杂的操作,但它甚至没有运行上述操作
我的表格是这样的
<FORM>
<SPAN class='header'>Login</SPAN><BR/>
<LABEL for='username' class='loginLabel'>Username</LABEL>
<INPUT type='text' id='username' name='username' value='' />
<LABEL for='password'class='loginLabel'>Password</LABEL>
<INPUT type='password' id='password' name='password' value='' />
<INPUT type='hidden' name='process' value='login' />
<INPUT type='button' value='Login' name='index' id='button' />
</FORM>
登录
用户名
密码
这是一个简单的登录表单,但单击按钮时,文本不会显示在控制台中。我不想使用submit按钮和JQuery.submit()事件,因为我希望相同的代码可以处理多种类型的内容,包括链接和可能的其他元素。尝试使用
。on
$("#button").on('click', function(){
console.log("Clicked");
});
jQuery对象没有
onClick
方法。使用。您的代码应该如下所示:
$("#button").click(function(){
console.log("Clicked");
});
向jquery注册处理程序不是正确的方法 试一试
不是单击
onclick
而是单击click
$("#button").click();
$(“#按钮”)
返回没有onclick
属性/方法的jQuery对象。使用。单击:
$('#button').click(function() {
});
在将onclick行为指定给按钮之前,是否确实正在等待加载文档?尝试将作业更改为在内部
$(document).ready(function(...))
您正在尝试在页面中存在元素之前绑定事件处理程序
通过将回调传递给.load
,在添加表单后绑定处理程序:
$(document).ready(function(){
function loadPage(url){
$(".body").fadeOut(400, function(){
$(".body").load(url, function() {
$("#button").on("click", function(){
var pageTo = this.name;
loadPage("pages/" + pageTo + ".html");
});
});
$(".body").fadeIn(400);
});
}
loadPage("pages/login.html");
});
或使用事件委派(请参阅中的直接和委派事件一节):
也不行。我在控制台中什么也没得到,我甚至尝试了alert,但它什么也没做。ready函数:$(document.ready(function(){…})代码>从一开始就这样做了,不觉得在上面的代码中包含它很重要是的,最后一次输入的类型是button,id为buttonIt,必须是您正在做的其他事情,因为您提供的代码工作正常--…这不值得检查吗?不管是谁骗了我,你真的从来没有这么做过吗?我真的在等文件加载。我觉得把它添加到上面的代码中并不重要。结果和以前一样。控制台中没有显示任何内容。我也没有收到任何错误。这不是用jQuery绑定事件处理程序的方式。我建议你看看,我看了。它也不起作用。如果您阅读了其他答案,我在其中添加了注释,但它们似乎都不起作用。那么您没有告诉我们一些事情(可能是页面上的其他代码有问题),因为它起作用:。我假设pages/login.html
包含表单?在绑定事件处理程序时,元素还不存在,因此无法绑定它。在包含内容或使用事件委派后绑定事件处理程序。@legobear154:请查看“直接和委派事件”一节。在此上下文中也很有用:。
$(document).ready(function(){
function loadPage(url){
$(".body").fadeOut(400, function(){
$(".body").load(url, function() {
$("#button").on("click", function(){
var pageTo = this.name;
loadPage("pages/" + pageTo + ".html");
});
});
$(".body").fadeIn(400);
});
}
loadPage("pages/login.html");
});
$(document).on("click", "#button", function(){
var pageTo = this.name;
loadPage("pages/" + pageTo + ".html");
});