jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – jQuery:在输入字段中输入文本时,不启用该按钮大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jsfiddle here.

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);
});

DEMO

在这里,我使用.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,请注明来意。