我将单击事件侦听器附加到我的搜索按钮(没有任何事件附加到id‘username’的元素上),但是当我单击文本字段时,也会触发click事件。无论我点击这两个中的哪一个,事件无论如何都会被解雇!有人能解释一下为什么吗
var e;
var m;
var h;
var c;
u = document.getElementById('username');
s = document.getElementById('search');
c = document.getElementById('output');
s.addEventListener('click', function(e){
c.innerHTML = this.id;
});#reset-password,
#find-account{
width: 500px;
height: auto;
margin: 0px auto;
}
#reset-password > #title{
color: #A0A0A0;
}
#reset-password > #search-block{
width: 100%;
display: block;
overflow: hidden;
border: 1px solid blue;
}
#reset-password #search-block #filler{
display: block;
overflow: hidden;
}
#reset-password #search-block > #filler > #username{
width: 96.5%;
}
#reset-password #search-block > #search{
float: right;
}
#reset-password > #content > #how-to-contact-you,
#reset-password > #content > #attempt-error{
display: none;
}
#reset-password > #content > #how-to-contact-you > div.via{
margin: 12.5px 0px;
}
#reset-password > #content > #how-to-contact-you > div.via > label > small{
font-weight: bold;
}
#reset-password > #content > #how-to-contact-you > div.via > small{
padding-left: 25px;
}
#reset-password > #content > #how-to-contact-you > #submit{
display: block;
margin-left: auto;
}
#reset-password > #content > * > h3{
display: block;
position: relative;
padding: 5px 0px;
border-width: 1px;
border-color: #C0C0C0;
border-top-style: solid;
}
#reset-password > #content > * > h3:after{
display: block;
content: '\0020';
position: absolute;
width: 10px;
height: 10px;
top: -1px;
left: 50%;
border-width: 1px;
border-color: #C0C0C0;
border-style: solid none none solid;
background: #FFFFFF;
-webkit-transform: translateY(-50%) rotate(45deg);
-moz-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
#reset-password > #content > #how-to-contact-you > h3{
color: #75B618;
}
#reset-password > #content > #attempt-error > h3{
color: #FF1504;
}<body>
<div class='A4 page content'>
<div id='reset-password'>
<big id='title'>Find your account</big>
<div id='content'>
<p><small>Enter your email or phone number</small></p>
<label id='search-block'>
<button class='im' id='search'>Search</button>
<span id='filler'><input type='text' class='im' id='username'/></span>
</label>
<div id='how-to-contact-you'>
<h3>Reset Password</h3>
<h5>Choose an option to reset your password</h5>
<div class='via'>
<input class='radio' id='email' name='cell-desktop' type='radio' value='email' checked/>
<label for='email'><small>Email me</small></label><br/>
<small>emailusername@domain.com</small>
</div>
<div class='via'>
<input class='radio' id='text' name='cell-desktop' type='radio' value='text'/>
<label for='text'><small>Text me</small></label><br/>
<small>xxx-xxx-xxxx</small>
</div>
<!-- <input type='submit' class='im' id='submit' value='Submit'/> -->
</div>
<div id='attempt-error'>
<h3>Account could not be found!</h3>
<p>
<small>We were unable to find your account using the information you provided!</small>
</p>
</div>
<label id='output'></label>
</div>
</div>
</div>
</body>
发布于 2015-10-02 03:16:47
搜索按钮和搜索框被放置在标签元素id=“搜索块”中,因此正在发生这种情况。你能把按钮和盒子从标签元素中移出吗?
发布于 2015-10-02 03:20:01
var e;
var m;
var h;
var c;
u = document.getElementById('username');
s = document.getElementById('search');
c = document.getElementById('output');
s.addEventListener('click', function(e){
c.innerHTML = this.id;
});#reset-password,
#find-account{
width: 500px;
height: auto;
margin: 0px auto;
}
#reset-password > #title{
color: #A0A0A0;
}
#reset-password > #search-block{
width: 100%;
display: block;
overflow: hidden;
border: 1px solid blue;
}
#reset-password #search-block #filler{
display: block;
overflow: hidden;
}
#reset-password #search-block > #filler > #username{
width: 96.5%;
}
#reset-password #search-block > #search{
float: right;
}
#reset-password > #content > #how-to-contact-you,
#reset-password > #content > #attempt-error{
display: none;
}
#reset-password > #content > #how-to-contact-you > div.via{
margin: 12.5px 0px;
}
#reset-password > #content > #how-to-contact-you > div.via > label > small{
font-weight: bold;
}
#reset-password > #content > #how-to-contact-you > div.via > small{
padding-left: 25px;
}
#reset-password > #content > #how-to-contact-you > #submit{
display: block;
margin-left: auto;
}
#reset-password > #content > * > h3{
display: block;
position: relative;
padding: 5px 0px;
border-width: 1px;
border-color: #C0C0C0;
border-top-style: solid;
}
#reset-password > #content > * > h3:after{
display: block;
content: '\0020';
position: absolute;
width: 10px;
height: 10px;
top: -1px;
left: 50%;
border-width: 1px;
border-color: #C0C0C0;
border-style: solid none none solid;
background: #FFFFFF;
-webkit-transform: translateY(-50%) rotate(45deg);
-moz-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
#reset-password > #content > #how-to-contact-you > h3{
color: #75B618;
}
#reset-password > #content > #attempt-error > h3{
color: #FF1504;
}<body>
<div class='A4 page content'>
<div id='reset-password'>
<big id='title'>Find your account</big>
<div id='content'>
<p><small>Enter your email or phone number</small></p>
<div id='search-block'>
<button class='im' id='search'>Search</button>
<span id='filler'><input type='text' class='im' id='username'/></span></div>
<div id='how-to-contact-you'>
<h3>Reset Password</h3>
<h5>Choose an option to reset your password</h5>
<div class='via'>
<input class='radio' id='email' name='cell-desktop' type='radio' value='email' checked/>
<label for='email'><small>Email me</small></label><br/>
<small>emailusername@domain.com</small>
</div>
<div class='via'>
<input class='radio' id='text' name='cell-desktop' type='radio' value='text'/>
<label for='text'><small>Text me</small></label><br/>
<small>xxx-xxx-xxxx</small>
</div>
<!-- <input type='submit' class='im' id='submit' value='Submit'/> -->
</div>
<div id='attempt-error'>
<h3>Account could not be found!</h3>
<p>
<small>We were unable to find your account using the information you provided!</small>
</p>
</div>
<label id='output'></label>
</div>
</div>
</div>
</body>
我已将标签转换为div以保持对齐。
https://stackoverflow.com/questions/32899735
复制相似问题