0

我正在尝试在 keyup 事件上向 textarea 添加一个类。事件正在触发,但没有添加类。在这里,如果该类不存在,我将尝试将其添加到该 textarea 实例

  $("textarea").live("keyup", function() {
    $("this[class='']").addClass("modified");
      });

在提交期间,我使用下面的代码来禁用那些没有修改类的代码。但这不是提交任何 textareas 。所以看起来上面的代码中没有添加任何类。

$("textarea:not(.modified)").attr("disabled", "disabled");

有人可以帮我看看这段代码有什么问题吗?

谢谢

问候

基兰

4

4 回答 4

2

它应该是

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

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

于 2012-05-10T14:42:43.707 回答
1

我看到两种可能性:

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

我会尝试类似的东西:

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

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

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

于 2012-05-10T14:46:45.107 回答
1

基兰,

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

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

你提交时的表单是什么样的?您是否厌倦了在代码中添加一个调试器来查看您$("textarea:not(.modified)").attr("disabled", "disabled");是否受到攻击?

于 2012-05-10T14:50:19.507 回答
1
  $("textarea").on("keyup", function() {
       $(this).addClass("modified");
  });
于 2012-05-10T14:54:37.117 回答