javascript - 在悬停事件处理程序上添加类

标签 javascript jquery html css

有一个提交按钮。和一个文本框。我想将鼠标悬停在带有 classname: searchbutton 上,然后将类切换到我的 textbox。 问题是当我想在文本框中输入内容时它不起作用。我怎样才能解决这个问题? 这是我的代码:

$(".search").hover(function () {
    $(".searchinput").toggleClass("searchinput2");
 });
.searchinput{width:2%; height:30px; background:yellow; font-size:1.5em;}
.searchinput2{width:50% !important;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="searchinput"/>
        <button type="submit" class="search">search</button>

最佳答案

您应该使用 .mouseenter.mouseleave 事件。

$(".search").mouseenter(function () {
    $("#searchinput").addClass('searchinput2');
 });
$(".searchinput").mouseleave(function () {
    $("#searchinput").removeClass('searchinput2');
 });
.searchinput{width:2%; height:30px; background:yellow; font-size:1.5em;}
.searchinput2{width:50% !important;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="searchinput" id="searchinput"/>
        <button type="submit" class="search">search</button>

您可以为 input 元素绑定(bind) .hover() 事件处理程序。

$(".searchinput").hover(function () {
    $(".searchinput").toggleClass('searchinput2');
});
.searchinput{width:2%; height:30px; background:yellow; font-size:1.5em;}
.searchinput2{width:50% !important;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="searchinput"/>
        <button type="submit" class="search">search</button>

关于javascript - 在悬停事件处理程序上添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41907568/

相关文章:

javascript - 从文本文件在 javascript 中创建下拉列表

javascript - 如何过滤掉数组中的 NaN, null, 0, false (JS)

javascript - ECMAScript 6 promise

javascript - simplePagination jQuery 服务器端

javascript - 如何使用 javascript 滚动 iFrame

html - 想在html/css中限制选择框的深度

html - 如何在 Bootstrap 网格和表单中嵌套和垂直对齐 Kendo 单选按钮?

javascript - 使用 jquery html() 将脚本插入到新窗口

JavaScript if 语句优化

javascript - 使用 jQuery 为父对象设置动画