Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery TextArea在更改事件时添加类,并在提交时禁用其他元素_Jquery_Class - Fatal编程技术网

Jquery TextArea在更改事件时添加类,并在提交时禁用其他元素

Jquery TextArea在更改事件时添加类,并在提交时禁用其他元素,jquery,class,Jquery,Class,我试图在keyup事件中将类添加到textarea。事件正在触发,但未添加该类。在这里,如果该类不存在于textarea实例中,我将尝试添加该类 $("textarea").live("keyup", function() { $("this[class='']").addClass("modified"); }); 在提交过程中,我使用下面的代码来禁用那些没有修改类的代码。但这不是提交任何文本区域。看起来上面的代码中没有添加任何类 $("textarea:not(.m

我试图在keyup事件中将类添加到textarea。事件正在触发,但未添加该类。在这里,如果该类不存在于textarea实例中,我将尝试添加该类

  $("textarea").live("keyup", function() {
    $("this[class='']").addClass("modified");
      });
在提交过程中,我使用下面的代码来禁用那些没有修改类的代码。但这不是提交任何文本区域。看起来上面的代码中没有添加任何类

$("textarea:not(.modified)").attr("disabled", "disabled");
有人能帮我一下这个代码有什么问题吗

谢谢

问候

基兰应该是

$("textarea").live("keyup", function(e) {
  $(e.target).addClass("modified");
});
如果该类已经存在,则不会添加该类。

应该添加该类

$("textarea").live("keyup", function(e) {
  $(e.target).addClass("modified");
});

如果该类已经存在,则不会添加该类。

我认为有两种可能性:

在jQuery中使用关键字
this
时,不需要引号

我想试试这样的东西:

if ( !($(this.hasClass("modified")) ){

     $(this).addClass("modified");
}

第二个问题可能是,您试图将一个类添加到一个没有类的对象中,该字段上是否可能已经存在另一个类?

我看到两种可能性:

在jQuery中使用关键字
this
时,不需要引号

我想试试这样的东西:

if ( !($(this.hasClass("modified")) ){

     $(this).addClass("modified");
}
第二个问题可能是,您试图将一个类添加到一个没有类的对象中,该字段上是否可能已经有另一个类

我测试了这个,它确实在keyup上添加了这个类。试试这个,而不是你的代码,看看它是否有效

$('textarea').keyup(function() {
    $(this).addClass("modified");
  });
你的表格是什么样子的?您是否已经厌倦了在代码中抛出调试器,以查看您的
$(“textarea:not(.modified)”).attr(“disabled”、“disabled”)被击中了吗?

基兰

  $("textarea").on("keyup", function() {
       $(this).addClass("modified");
  });
我测试了这个,它确实在keyup上添加了这个类。试试这个,而不是你的代码,看看它是否有效

$('textarea').keyup(function() {
    $(this).addClass("modified");
  });

你的表格是什么样子的?您是否已经厌倦了在代码中抛出调试器,以查看您的
$(“textarea:not(.modified)”).attr(“disabled”、“disabled”)被击中了吗?

这比我的解决方案更优雅。谢谢Riateche的帮助。我首先不知道为什么我添加class=''。再次感谢这比我的解决方案更优雅。谢谢你的帮助。我首先不知道为什么我添加class=''。谢谢,againI实际上会使用Raiteche的解决方案而不是我的解决方案,因为它更简单,jQuery将确保不会添加重复项。我认为您的代码的主要问题是使用了“this”关键字。感谢您的快速响应,我实际上会使用Raiteche的解决方案,而不是我的,因为它更简单,jQuery将确保不会添加重复项。我认为您的代码的主要问题是“this”关键字的使用。感谢您的快速响应。感谢Thulasiram提供此解决方案。感谢Thulasiram提供此解决方案
  $("textarea").on("keyup", function() {
       $(this).addClass("modified");
  });