大佬教程收集整理的这篇文章主要介绍了javascript – jQuery:在输入字段中输入文本时,不启用该按钮,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
jQuery的
$(function() { //var input = $('form :input[type="text"]') $('form :input[type="text"]').live('keyup',function() { $('form .create-playlist-button') .attr('disabled',$('form :input[type="text"]').val().length == 0); }); });
需要
>当我开始在文本框中输入数据时,应启用create.
>当我从文本框中删除所有文本时,应禁用创建.
我是jQuery的新手,这件事对我不起作用.
$('form :input[type="text"]').live('keyup',function() { var val = $.trim(this.value); // this.value is faster than $(this).val() $('form .create-playlist-button').prop('disabled',val.length == 0); });
在这里,我使用.prop()
而不是.attr()
,根据jQuery doc .prop()应该使用.我还使用.trim()
从值的开头和结尾删除空格.
在您的代码中,您使用$(‘form:input [type =“text”]’)两次,一次用于绑定事件,另一次用于获取文本字段的值.但这不是必需的,因为在keyup事件处理函数中,这将引用keyup事件绑定的input元素.
如果您出于任何目的需要多次使用任何选择器,最好将其缓存在变量中并重用该变量.仅举例如:
var input = $('form :input[type="text"]'); input.on('click',function() { alert( this.value ); input.addClass('something'); });
如果使用.on()
代替.live()代表事件处理程序会更好,因为.live()已被弃用.
您可以使用.on(),如下所示:
$('form').on('keyup',':input[type="text"]',function() { var val = $.trim(this.value); $('form .create-playlist-button').prop('disabled',val.length == 0); });
注意
委托事件处理的.on()语法如下:
$(staticContainer).on( eventName,target,handlerFunction )
这里,staticContainer指向在页面加载时属于DOM的元素,即不是动态的元素,也是要绑定事件的目标的容器.
只是为了更多去这里
> .prop() vs .attr()
> http://forum.jquery.com/topic/whats-the-difference-between-jquery-attr-and-jquery-prop
以上是大佬教程为你收集整理的javascript – jQuery:在输入字段中输入文本时,不启用该按钮全部内容,希望文章能够帮你解决javascript – jQuery:在输入字段中输入文本时,不启用该按钮所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。