イムの取り付けと再取り付け:は、このようなページの特定の要素にlisternersを添付するフレームワーク(具体的にはプロトタイプ)からイベントハンドラを使用してイベントハンドラ
//html
<a href="?default=1" class="default">Set Default</a>
//js
document.observe('dom:loaded', function(){
//get all elements with d 'default' classname
for(i = 0;i < document.getElementsByClassName('default').length;i++)
{
s = document.getElementsByClassName('default')[i];
//attach an onclick event
s.observe('click', function(e){
//prevent the default action (i.e loading the page)
e.preventDefault();
//read d link attribute
ref = this.readAttribute('href');
//and now, do it the ajax way
new Ajax.Request('js/ajax/handler.php'+ref, {
method:'get',
onSuccess:function(transport){}
});
});
}
});
それはうまく動作します。本当によく。しかし、挑戦があります。ほとんどの場合、そのようなアクションはDOMを操作し、「デフォルト」クラス要素(つまり、別のSet Defaultをどこかに追加)の1つ以上を追加することがあります。それは実際に意図的です。しかし、新しく追加された 'default'クラス要素にはclickイベントが添付されません。現時点では、すべての「デフォルト」クラスを再びループして、イベントを再接続することをお勧めします。他のアイデア?
これは岩です。本当にありがとう! – kehers