You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改jQuery选择器,排除class为item的文本输入框?

解决jQuery文本输入框事件绑定的选择器问题

你碰到的这个问题其实挺常见的——jQuery并不支持[class!=item]这种属性选择器语法,这种写法是非标准的,所以才会失效。要实现“仅对class不等于item的文本输入框绑定事件”的需求,我们可以用jQuery的:not()伪类选择器,这是官方推荐且可靠的方式。

正确的选择器写法

把原来的选择器替换成input[type=text]:not(.item),它的作用很明确:匹配所有类型为text的<input>元素,同时排除带有item类的元素。

修改后的完整代码

$(document)
  .on('focus', 'input[type=text]:not(.item)', function() {
    // 合并css调用,让代码更简洁
    $('.footer').css({
      'position': 'absolute',
      'bottom': ''
    });
  })
  .on('blur', 'input[type=text]:not(.item)', function() {
    $('.footer').css({
      'position': 'fixed',
      'bottom': '0'
    });
  });

小优化说明

我顺便把你代码里两次单独调用.css()的操作合并成了一次传递配置对象的写法,这样既保持了功能不变,还让代码更简洁高效,你可以参考这个小技巧~

内容的提问来源于stack exchange,提问作者sqlchild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:10:06