goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

【JQuery】ボタンがdisabledになったら、なにかしたい

2015-01-15 12:46:05 | JavaとWeb
■なにが難しいのか?
ボタンがクリックされたら、何かしたい・・・なら簡単。
ボタンクリックのイベントがとれるから。

しかし、ボタンがdisabledになったら・・・というイベントがない。
なので、ボタンがdisabledになったら、何かしたいというのがかけない。

■どうしたか
ボタンをdisabledに直接するのではなく、
いったんボタンをblurにして、ボタンのblurイベント内でdisableにして、
そこに、disableのときにしたい処理を書いた

■サンプル
こんなかんじ。disabledのときに、背景を赤にしている
<HTML>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>

<script>
$(function(){ 

//	フォーカスを受け取ったら、enable
  $("#myarea").focus(function(){
	$("#myarea").css("background-color", "yellow");
	$("#bt1").removeAttr('disabled');
  });

//	フォーカスを失ったら、blur(→disable)
  $("#myarea").blur(function(){
	$("#bt1").blur();
  });

//	ボタンがdisableになったら、背景を変える
  $("#bt1").blur(function(){
	$("#myarea").css("background-color", "red");
	$("#bt1").attr("disabled",true);
  });

}); 
</script>

<body>
<div id="myarea" style="width:200px;height:100px;background-color:yellow;">
<BUTTON id="bt1" >ボタン</BUTTON>
</div>

</body>
</html>



■つけたし・・
blurにするより、カスタムイベントにしたほうがいいかも?
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ハリウッド映画タイトル風の... | トップ | 東大、軍事研究を解禁 »
最新の画像もっと見る

JavaとWeb」カテゴリの最新記事