jquery检测类赋值的变化

时间:2009-08-25 17:07:15

标签: jquery

有没有人知道如何使用JQuery检测给定元素的类何时发生了变化?

我正在使用“简单可数”的JQuery插件来通知用户输入文本区域的字符数。当用户超过允许的字符数时,我想禁用“发布”按钮。

由于在达到限制时只是可数改变了指定的CSS类,我的想法是捕获该事件,以便我可以禁用发布按钮,但也许有更好的方法?

欢迎任何建议。

感谢。

6 个答案:

答案 0 :(得分:1)

假设您需要阻止控件,而不是拦截类更改,您只需重写负责操作的插件部分(类添加)。

答案 1 :(得分:1)

你的意思是这样吗?

<script>
   $("#myTextArea").change(function(){
       var contentLength = $(this).val().length; 
       var charLimit = 500;
       if(contentLength > charLimit){
           $("#saveButton").attr("disabled","disabled");
       }

   });

</script>


<textarea id="myTextArea"></textArea>
<input type="submit" id="saveButton">

答案 2 :(得分:0)

我不知道当前存在的任何内容,但您可以编写一个jQuery插件,只要修改了类名,就会触发自定义事件(通过jQuery)。

答案 3 :(得分:0)

您可以尝试jQuery Validation Plugin

答案 4 :(得分:0)

你可以在按键或向上(对于文本区域)有一个事件来检查是否已达到最大字符数,并触发相应的逻辑。

$(textarea).keypress(function (e) {
       if(getLetterCount() > 300){
           $(postButton).css('disabled', 'true');
       else
           $(postButton).css('disabled', 'false');
       }
 });

答案 5 :(得分:0)

没有这样的事件。您需要做的是调整插件以满足您的需求。

浏览the code。它呼叫addClass(options.overClass)的任何地方都需要禁用您的按钮。它调用的任何地方addClass(options.safeClass)您需要启用按钮。简单。