首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >On :在伪元素之前,输入[type=“按钮”]单击无效

On :在伪元素之前,输入[type=“按钮”]单击无效
EN

Stack Overflow用户
提问于 2016-09-02 08:10:45
回答 2查看 840关注 0票数 0

当我在input type="button"上添加一个图标时,使用伪元素::before将其封装在span中时,当单击图标时,的单击将无法工作。

我能用什么解决办法来更进一步呢?以下是代码:

代码语言:javascript
复制
$(document).ready(function() {
  $('.btn').click(function() {
    alert('alert');
  });
});
代码语言:javascript
复制
.um-searchwp .f_left {
  margin-right: 10px;
  margin-bottom: 10px;
}
.f_left {
  float: left;
}
.um-searchbtn.text-search {
  width: 30px;
  position: relative;
  height: 30px;
}
.um-autosearchtext input.text {
  padding: 6px 29px 6px 5px;
  width: 192px;
  border: 1px solid #fd6800;
  color: #61381b;
  background-color: #fff;
  border-radius: 5px;
  font-size: 15px;
}
.um-searchbtn input[type='button'] {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0px;
  background: #fd6800;
  border: 1px solid #fd6800;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  cursor: pointer;
}
.text-search::before {
  content: "i";
  position: absolute;
  width: 12px;
  height: 12px;
  background: url(../images/imageSprite.png) -237px -1084px;
  right: 8px;
  margin-top: -6px;
  z-index: 999;
  top: 15px;
  cursor: pointer;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="f_left um-autosearchtext">
  <span class="um-searchbtn text-search">
 <input type="text" class="text f_left mr0 mb0" id="textboxSearchUser">
<input type="button" class = "btn" class="mr0 mb0">
</span>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-02 08:17:00

伪元素根本不是DOM的一部分,因此不能将任何事件直接绑定到它们,只能绑定到它们的父元素,就像您已经绑定的那样。但是,当单击伪元素时,事件不会冒泡到父元素。尝试将图标添加为背景图像。

你可以试试这样的方法:

代码语言:javascript
复制
         $(document).ready(function() {
           $('.btn').click(function() {
             alert('alert');
           });
         });
代码语言:javascript
复制
p .f_left {
  margin-right: 10px;
  margin-bottom: 10px;
}
.f_left {
  float: left;
}
.um-searchbtn.text-search {
  width: 30px;
  position: relative;
  height: 30px;
}
.um-autosearchtext input.text {
  padding: 6px 29px 6px 5px;
  width: 192px;
  border: 1px solid #fd6800;
  color: #61381b;
  background-color: #fff;
  border-radius: 5px;
  font-size: 15px;
}
.um-searchbtn input[type='button'] {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0px;
  background: #fd6800;
  border: 1px solid #fd6800;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  cursor: pointer;
}
.text-search {
  padding-right: 12px;
  position: absolute;
  width: 12px;
  height: 12px;
  background: url(../images/imageSprite.png) -237px -1084px;
  right: 8px;
  z-index: 999;
  cursor: pointer;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="f_left um-autosearchtext">
  <span class="um-searchbtn text-search">
     <input type="text" class="text f_left mr0 mb0" id="textboxSearchUser">
    <input type="button" class = "btn" class="mr0 mb0">
    </span>
</div>

票数 0
EN

Stack Overflow用户

发布于 2016-09-02 08:19:35

不要使用伪元素“前面”并使值输入如下所示

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="f_left um-autosearchtext">
  <span class="um-searchbtn text-search">
 <input type="text" class="text f_left mr0 mb0" id="textboxSearchUser">
<input type="button" class = "btn" class="mr0 mb0" value="i">
</span>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39287424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档