人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

$(document).ready(function()の中の関数を外部から呼び出す

お世話になります。
$(document).ready(function(){
function test(){
alert('test');
}
});

たとえばHTML中の<a href="javascript:void(0);" onclick=test()>
のように呼び出す方法はないのでしょうか

DOMがロードされて操作可能になったタイミングで関数を実行しているのですが
外部からも利用したいと考えています

宜しくお願いします

●質問者: teioh12
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
ベストアンサー

たとえばHTML中の<a href="javascript:void(0);" onclick=test()>
のように呼び出す方法はないのでしょうか

ないです。
スコープってのは、そういうもの。

関数を使いまわすという意味では、外側のスコープで定義するか、

<script>
// onclick で見えてるスコープで関数を定義する
function test(){
 alert('test');
}
$(document).ready(function(){
 test();
});
</script>
<a href="javascript:void(0);" onclick="test()">

window のスコープに定義するしかないです。

<script>
$(document).ready(function(){
 // いわゆるグローバルスコープは、window の属性として見える
 window.test = function() {
 alert('test');
 }
 test();
});
</script>
<a href="javascript:void(0);" onclick="test()">

teioh12さんのコメント
a-kuma3さん 毎度ご回答頂き誠にありがとうございます。 やはり外部に定義させて読み込ませるという方法しかないのですね。 基礎学ばずに局所的に調べて開発してるのでこういったアホな質問をしてしまいました。

a-kuma3さんのコメント
javascript は、クロージャとかもあるので、スコープは難しいです。 知ってる人だって、知らない時期を通って来たわけですから <tt>:-)</tt>
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ