0
var $ = function (id){return document.getElementById(id);}
 window.onload=function(){
 $("num").onfocus=function(){
        $("show").style.display="block";
 }

キャッチされていない TypeError: undefined は関数ではありません

しかし、 $("num") を $("#num") に変更すると機能します。なぜですか?

4

3 に答える 3

2

あなたのコードは次の場合に機能します

a) jQuery がロードされていない

b)不足している中括弧を追加します

ライブデモ

var $ = function (id){return document.getElementById(id);} 

window.onload=function(){
   $("num").onfocus=function(){
        $("show").style.display="block";
   }       
 }
于 2013-08-21T09:25:28.537 に答える
2

ページに jQuery をロードする必要があり、$ をローカル変数として定義するため、オンロード中に $ 変数は古い意味である jQuery を使用します。また、jQuery は CSS と同じセレクターを使用します。

必要がない場合はjQueryを無効にするか、互換モードに設定するか、$変数をグローバル変数として設定することで、問題を解決できます。

于 2013-08-21T08:31:20.213 に答える
0

ほとんどの場合、参考にならないjQuery$変数名を参照しています。その理由は、フレームワーク(ソース)window.jQueryを参照する場合、との両方がインスタンスをwindow.$指しているためです。 jQueryjQuery


実際、次は期待どおりに動作するはずです。

 window.onload=function(){
   var $ = function (id){return document.getElementById(id);} 
   $("num").onfocus=function(){
        $("show").style.display="block";
   }
 }
于 2013-08-21T08:36:32.223 に答える