1

このフィドルをご覧ください:

http://jsfiddle.net/GSHsH/9/

HTML:

<div id="papa" onclick="anything(this);">Blabla</div>​

JS:

function anything(theObj){
    window.alert(theObj.innerHTML);
}

関数「anything」が再構成されない理由がわかりません。(プロトタイプを使用)

4

2 に答える 2

6

認識しないということではありません-jsfiddleで設定したためthis、メソッドを認識しません-javascriptのスコープをに設定します。あなたがそれを選んだならば、それはうまくいくでしょう:http: //jsfiddle.net/GSHsH/11/anythingonLoadno wrap (head)

もう少し詳しく。設定方法は、jsfiddleの出力フレームに挿入されるものです。

Event.observe(window, "load", function(){

function anything(theObj){
    window.alert(theObj.innerHTML);
}

});

anythingメソッドはグローバル(ウィンドウ)スコープではなく、特定の関数のスコープにあることに注意してください。これは、ページ上の要素には表示されないことを意味します。

私がそれを設定する方法はあなたがこれを得る:

function anything(theObj){
    window.alert(theObj.innerHTML);
}

これは、ページの先頭で定義されている単なる古い関数であり、ページ上の要素からアクセスできるようになりました。

于 2012-11-21T09:29:24.583 に答える