Hatena::ブログ(Diary)

てっく煮ブログ

2011年03月24日

cyokodogcyokodog 2011/03/24 16:44 最後の例は、メソッド名の衝突が気になる場合は、カスタムイベントでもいいですね
var enable_mixin = {
enableAll: function(){
$(this).find(":disabled").attr("disabled", "");
return this;
},
disableAll: function(){
$(this).find(":enabled").attr("disabled", "disabled");
return this;
}
};

$("<form>").submit(function(){
var self = $(this).bind(enable_mixin).trigger('disableAll');
$.post('url', {}, function(){
self.trigger('enableAll');
});
return false;
})

nitoyonnitoyon 2011/03/25 00:58 おお、ありがとうございます。
カスタムイベント、知りませんでした。勉強しておきます…。

hanahana 2011/04/08 04:35 $.extendの解説の中で一番お世話になりました、ありがとうございまし

tt 2012/02/08 19:14 お世話になっております。
var enable_mixin = {
enableAll: function(){
this.find(":enabled").attr("disabled", "");
return this;
},
disableAll: function(){
this.find(":enabled").attr("disabled", "disabled");
return this;
}
};
の部分なのですが、(Xでない)HTMLだとdesabledは存在するだけで効果を発揮したような気がします。なので、
var enable_mixin = {
enableAll: function(){
this.find(":disabled").removeAttr("disabled");
return this;
},
disableAll: function(){ ... }
};
が良いと思います。$( ... ).removeAttr("disabled")がポイントです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元