10

すみません、本当にばかげた質問です。JavaScript や jquery に関する質問を投稿すると、「jsfiddle を作成してください」とよく言われます。

だから、私はしました。私の質問は、jquery を使用して div をスライドさせることについてですが、基本的な JavaScript 関数を jsfiddle で実行することさえできません。

http://jsfiddle.net/ubq6E/

<div onclick="showit()">Hello</div>
function showit()
{
alert('hi');
}

divをクリックしてjavascript関数を呼び出しますが、jsfiddleは関数が定義されていないと言います。jsfiddleでこれを行うことはできませんか?

4

1 に答える 1

10

onLoadjsfiddleでデフォルトのオプションを選択しました。

これにより、サイトはコード全体をコールバック関数内にラップします。つまり、showit関数は、DOM0 インライン イベント ハンドラーが必要とするグローバル関数ではありません。

私の個人的な好みの順序で、いくつかの回避策があります。

  1. DOM0 インライン ハンドラは使用しないでください。これらは非常に古いものです。element.addEventListener()代わりに調べて、マークアップを JS から分離してください。

  2. 代わりに使用window.showit = function() { ... }して、関数をグローバル名前空間に強制的に表示します。

  3. 「ラップなし」オプションのいずれかを選択します

于 2013-03-21T09:26:03.030 に答える