2017-03-01 9 views
-1

は私のコードです:

$("span.cls").on("click", function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>

はjQueryのと同じバージョンに変更することなく、作業上のコードを作成することが可能ですか?

+0

正確な問題は何ですか? divの代わりに何が起こっているの? – eeetee

+1

エラーは '' Uncaught TypeError:$(...)。onは関数ではありません。 '' $ 'は認識されていません – j08691

答えて

2

$は正しく認識されます。 エラーには、そのバージョンには.onメソッドが存在しないという問題があるためです。

使用click直接

$("span.cls").click(function(){ 
    $("#dialog").html(""); 
}); 

またはより良い(が本当に優先する必要があります)バージョンをアップグレード(1.4.2としては、2010年2月にリリースされました)。

3

jQueryバージョン1.7にjQuery .on()関数が追加されました。

代わりに.click()関数を使用してください。これはjQueryバージョン1.0で追加されました。バージョン1.4.3より前のバージョンでは、この関数でeventDataを指定することはできません。

$("span.cls").click(function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>
:以降、バージョン1.0から存在するすべては類似の機能があるクリック以外のイベントのために

また、単に.on()機能のような文字列としてイベントタイプを指定する.live()汎用イベントバインダーを、使用することを選択することができます。 .live()関数は、jQueryバージョン1.7では.on()の方が推奨されていませんでしたが、以前のバージョンのjQueryを使用しているので、まだ適切です。

$("span.cls").live("click", function(){ 
 
    $("#dialog").html(""); 
 
});
span{ 
 
    border: 1px solid; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
 

 
<span class="cls">remove content below</span> 
 

 
<div id="dialog"><p>something</p></div>

関連する問題