Javascript var和函数以错误的顺序工作
我试图用下面的代码实现的是,当单击“生成”按钮时,如果选中了Javascript var和函数以错误的顺序工作,javascript,jquery,html,Javascript,Jquery,Html,我试图用下面的代码实现的是,当单击“生成”按钮时,如果选中了html变量,则执行一些操作-在本例中加载警报,但是从中可以看到它以完全相反的方式工作 为什么要这样做?我该如何解决它,使其按我所希望的方式工作?您可以看到,我还必须为另一个复选框执行此操作:) HTML: <div class="form-group formGroup10"> <div class="checkbox"> <label>
html
变量,则执行一些操作-在本例中加载警报,但是从中可以看到它以完全相反的方式工作
为什么要这样做?我该如何解决它,使其按我所希望的方式工作?您可以看到,我还必须为另一个复选框执行此操作:)
HTML:
<div class="form-group formGroup10">
<div class="checkbox">
<label><input id="html" type="checkbox" value="">
<strong>Download as a HTML file</strong></label>
<br/>
<label><input id="showInline" type="checkbox" value="">
<strong>Show as HTML Code</strong></label>
</div>
<br/>
<button type="button" id="generate" class="btn btn-primary formButton10">Generate</button>
</div>
var html = $('#showInline');
var file = $('#html');
$("#generate").click(function(){
html.change(function(){
if($(this).is(':checked'))
{
alert('hello');
}
});
});
不需要进行更改事件。您可以将其删除以正常工作 这样做:
$("#generate").click(function(){
//html.change(function(){
if(html.is(':checked'))
{
alert('hello');
}
//});
});
你在做什么:
您正在单击事件中绑定更改
事件。因此,当您第一次单击它时,它会在html
上注册更改事件
我还必须为另一个复选框这样做
为此,您可以将其简化为:
$("#generate").click(function(){
if($(this).closest('.form-group').find('input[type="checkbox"]:checked').attr('id') === "showInline")
{
alert('showInline');
}else{
alert('html');
}
});
不需要进行更改事件。您可以将其删除以正常工作
这样做:
$("#generate").click(function(){
//html.change(function(){
if(html.is(':checked'))
{
alert('hello');
}
//});
});
你在做什么:
您正在单击事件中绑定更改
事件。因此,当您第一次单击它时,它会在html
上注册更改事件
我还必须为另一个复选框这样做
为此,您可以将其简化为:
$("#generate").click(function(){
if($(this).closest('.form-group').find('input[type="checkbox"]:checked').attr('id') === "showInline")
{
alert('showInline');
}else{
alert('html');
}
});
每次单击“生成”时都会绑定更改事件。你应该换成
var html = $('#showInline');
var file = $('#html');
html.change(function(){
if($(this).is(':checked'))
{
alert('hello');
}
});
$("#generate").click(function(){
html.trigger('change')
});
每次单击“生成”时都会绑定更改事件。你应该换成
var html = $('#showInline');
var file = $('#html');
html.change(function(){
if($(this).is(':checked'))
{
alert('hello');
}
});
$("#generate").click(function(){
html.trigger('change')
});
谢谢:)理解8分钟直到我能接受:)谢谢谢谢谢谢:)理解8分钟直到我能接受:)谢谢