外部のjavascriptファイルを動的にロードし、メソッドをスクリプトからDOMの特定の要素にバインドできるようにしたいと考えています。それは可能ですか?どうやって?どのような制約がありますか?外部javascriptを動的にロードして特定のDOM要素または名前空間にバインドする
私は解決策は次のようになります想像するが、私は動作します何に開いている:
<html><body>
<div class="A">aaaaa</div>
<div class="B">bbbbb</div>
<div class="A">aaa</div>
</body></html>
<script type="text/javascript">
//This is the internal script, part of the original page
$.get("url/outside_script.js",
function(script_obj){
$(".A").bind('niftyMethod', script_obj.niftyMethod)
}
);
</script>
ここで外部スクリプトです:
<script type="text/javascript">
var script_obj = {
niftyMethod : function(){
//Do cool stuff in the context of a DOM object.
$(this).fadeOut(500,function(){$(this).fadeIn(500)});
}
</script>
outside_script.js私はしましたこれについてグーグルグーグルの良いビットを行ったが、多くを見つけていない。たぶん私は間違った検索用語を使用しています...?
NB:jqueryを使用するのはうれしいことです。
あなたの.jsファイル内のスクリプトタグを必要としない 'niftymethodは' ではありません。また – kroehre
ファイル通常のjavascriptイベントです。クリック時にscript_obj.niftyMethodを呼び出すには、.bind( 'click'、script_obj.niftyMethod)を使用する必要があります。 – kroehre
メソッドを標準イベントにバインドできます。この例はより一般的なケースです:任意のイベントへのバインディング。 – Abe