`

即时搜索的input和propertychange方法

 
阅读更多

做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜索,今天好好小结一下。

即时搜索的方案:

(1)change事件    触发事件必须满足两个条件:

 

a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur)
 (2)keypress  恩,还好。。。。。就是能监听键盘事件,鼠标复制黏贴操作他就无能为力的赶脚了。。。。。
 (3)propertychange(ie)和input事件
input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化

 

propertychange,只要当前对象属性发生改变。

比如一个input输入文字后出现下拉框,如图:

当输入框里面内容为空时,下拉框要隐藏,可以通过input和propertychange方法实现,代码如下:

 

[javascript] view plain copy
  1. <script>  
  2. $("#search").bind("input propertychange",function(){  
  3.     var value=$(this).val();  
  4.     if(value){  
  5.         $(".pc_search ul").show();  
  6.     }else{  
  7.         $(".pc_search ul").hide();  
  8.     }  
  9. });  
  10. </script>  

这里bind同时绑定了input和propertychange两个方法。

 

======================================================

注意:

从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。

 

// jQuery 1.0+ (1.4.3+支持参数data)
$("selector").click([ data ,] handler );

// jQuery 1.0+ (1.4.3+支持参数data)
$("selector").bind("click"[, data ], handler );

// jQuery 1.3+ (1.4+支持参数data)
$("selector").live("click"[, data ], handler );

// jQuery 1.4.2+
$("ancestor").delegate("selector","click"[, data ], handler );

// jQuery 1.7+
$("ancestor").on("click","selector"[, data ], handler );

 

项目使用:

$("#buildYear").on('input propertychange',function () {
        var value=$(this).val();
if(value>=1900&&value<=2017){
            $("a.ssq-error.buildYear").css({"padding-left":"0px"});
$("a.ssq-error.buildYear").html("");
$("#evaluate").removeAttr("disabled");
}else{
            $("a.ssq-error.buildYear").css({"padding-left":"12px"});
$("a.ssq-error.buildYear").html("年代取值范围:1900-2017");
}
});

 

 

 

 

 

 

分享到:
评论

相关推荐

    js propertychange和oninput事件

    在某些场景中,需要对输入框的值实时进行检查和响应,典型的例子包括即时搜索功能,用户在输入框中输入内容后,系统能够实时地根据输入内容给出搜索结果。这种功能对用户体验有着重要的影响。在JavaScript中,实现...

    js change,propertychange,input事件小议

    ### JavaScript中的change、propertychange和input事件 #### 1. change事件 在Web开发中,`change`事件通常用于检测输入字段(如`&lt;input&gt;`、`&lt;select&gt;`或`&lt;textarea&gt;`)的内容何时发生变化。它尤其在用户完成输入并...

    jquery实现input输入框实时输入触发事件代码

    3. 使用jQuery的`.bind()`方法来为该input元素绑定`input`和`propertychange`事件。 4. 实现一个处理函数,例如`searchProductClassByName`,根据输入的值进行处理。 5. 将实现的函数绑定到事件中,以便在用户输入时...

    javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足

    相比于 `onpropertychange`,`oninput` 更具有跨浏览器兼容性,但它也有一个需要注意的地方:在某些浏览器中,必须使用 `addEventListener` 方法来绑定 `oninput` 事件,而不是直接在HTML属性中设置,否则可能无法...

    jquery-inputevent:jQuery的跨浏览器oninput事件

    - 实时搜索建议:当用户在搜索框中输入时,可以即时加载相关的搜索结果。 - 表单验证:实时检查输入内容,防止提交无效或格式错误的数据。 - 数据同步:在多个输入框间同步数据,如手机号和验证码的双向验证。 - 富...

    input输入框内容实时监测(附代码)

    在网页开发中,实时监测`input`输入框的内容变化是一项常见的需求,这通常用于实现诸如实时搜索、数据验证或即时反馈等交互功能。本篇内容将深入探讨如何使用JavaScript实现这一功能,并提供相关的代码示例。 一、...

    jquery 实时监听输入框值变化的完美方法(必看)

    首先,讨论了绑定`oninput`和`onpropertychange`事件的方法,然后指出了该方法的局限性,并提出了使用`live`方法作为替代方案来解决对动态添加的输入元素监听失效的问题。 知识点详细解析如下: 1. **实时监听...

    jQuery实时计算输入框字数代码.zip

    `'input propertychange'`事件组合确保了在用户输入或删除字符时即时更新计数。如果字符数超过最大值,我们将显示的字符数颜色更改为红色以提示用户。 这个代码示例体现了jQuery的易用性和高效性,通过简短的代码...

    jquery下onpropertychange事件的绑定方法

    这在需要即时计算和更新的表单中非常有用,如自动计算输入值的总计、动态校验输入内容等场景。 由于onpropertychange事件在IE浏览器中的表现和其他浏览器略有不同,开发者应当谨慎使用并测试在主要目标浏览器中的...

    【ASP.NET编程知识】jQuery实现金额录入框.docx

    首先,为了保持代码的整洁和防止变量冲突,我们使用即时执行函数`(function($){})(jQuery)`。这个匿名函数接受jQuery对象作为参数,这样可以在函数内部安全地使用$符号,而不会污染全局作用域。这样做还有助于模块化...

    JS实现移动端实时监听输入框变化的实例代码

    总的来说,移动端实时监听输入框变化的最佳实践是结合使用`input`和`propertychange`事件,它们能够在用户输入时立即捕获变化,从而提供更流畅的交互体验。对于复杂的业务逻辑,如实时搜索、表单验证,这种方案都能...

    jQuery监控文本框事件并作相应处理的方法

    在Web开发中,实时响应用户输入是常见的需求,例如,当用户在搜索框中输入内容时,可以即时显示搜索建议或预览结果。 首先,jQuery提供了`.on()`方法来绑定事件监听器。在这个例子中,我们使用了`'input ...

    jQuery实现金额录入框

    通过适当扩展jQuery的原型和使用即时执行函数表达式来隔离模块,可以确保代码的模块化和高内聚低耦合。在实际应用中,这样的金额录入框能够大大提升用户体验,并确保前端数据处理的准确性和安全性。

    PHP实时统计中文字数和区别

    这段代码中的关键部分是`bind('input propertychange')`,它确保了在用户输入时即时更新计数,无论是通过键盘输入还是粘贴文本。`val().substring(0,500)`用于截取不超过500字符的文本,防止用户输入过长。 总结来...

    PHP+Mysql+jQuery实现发布微博程序 jQuery篇

    $('#saytxt').on('input propertychange', recount); $('#saytxt').on('blur', recount); // 发布按钮点击事件 $('.sub_btn').click(function(e) { e.preventDefault(); $('#msg').html('正在发布...'); $....

    formwatcher:用于监视表单更改的 jQuery 插件

    `formwatcher`插件的核心是监听表单元素的`change`、`input`和`propertychange`事件。这些事件会在用户输入、选择或改变表单元素值时触发。当事件发生时,插件会调用预定义的回调函数,开发者可以在回调函数中编写...

Global site tag (gtag.js) - Google Analytics