Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
北欧好きが、愛用の北欧モノを見せ合うコミュニティ
Javascript関連情報
更新日:2007年04月19日
今回は、イベント追加メソッドaddListenerを使ってみます。 いわゆる、IE以外のブラウザに実装されたDOMのaddEventListenerやIE独自のattachEventに相当する機能をクロスブラウザ化したものです。

YAHOO.util.Event.addListener("要素のid名"またはobject,"click",callbackFunc);
この書き方で、イベントをセットしたい対象要素の「id名」または「object」、イベントタイプの"on"を取った名前(たとえば「onclick」なら「click」)、「イベント時に起動する関数名」を引数で渡すことで指定することができます。(Yahoo! UI Library > event > YAHOO.util.Event > addListener)
<script type="text/javascript"
src="../../build/yahoo/yahoo-min.js"></script>
<script type="text/javascript"
src="../../build/animation/animation-min.js"></script>
<script type="text/javascript"
src="../../build/event/event-min.js"></script>
<script type="text/javascript"
src="../../build/dom/dom-min.js"></script>
<script type="text/javascript">
function fnCallback1(){
var myAnim = new YAHOO.util.Anim(
this , { opacity : { from:1,to:0 } } ,0.8
);
myAnim.animate();
}
YAHOO.util.Event.addListener("test1", "click", fnCallback1);
</script>
<style>
#test1{ width:15em;height:120px;background-color:#888;padding:4px}
</style>
<div id="test1">
<span>
クリックでフェイドアウトします
</span>
</div>
つまり、前回 のようにForm内のボタンにonclickをセットするのではなく、DIV要素「test1」に直接、 スクリプトからclickイベントをセットしているわけです。
<style>
#test2{ width:15em;height:120px;background-color:#ffee44;padding:4px}
#test3{ width:15em;height:120px;background-color:#84ff4c;padding:4px}
</style>
<div id="test2"><span>test2 フェイドアウトします</span></div>
<div id="test3"><span>test3 フェイドアウトします</span></div>
<script type="text/javascript">
//第四引数を第三引数で渡す関数の引数として渡す
function fnCallback2(e,oj){
alert("oj.testは、"+oj.test)
var myAnim = new YAHOO.util.Anim(
this , { opacity : { from:1,to:0 } } ,0.8
);
myAnim.animate();
}
YAHOO.util.Event.addListener("test2","click",fnCallback2,{test:123});
//第四引数を第三引数で渡す関数のカレントスコープ(this)にする
function fnCallback3(){
alert("thisで動作します?n this.testは、"+this.test)
var myAnim = new YAHOO.util.Anim(
YAHOO.util.Dom.get('test3') , { opacity : { from:1,to:0 } } ,0.8
);
myAnim.animate();
}
YAHOO.util.Event.addListener("test3","click",fnCallback3,{test:123},true);
</script>
人気Javascriptランキング
Powered by 価格.com
北欧好きが、愛用の北欧モノを見せ合うコミュニティ