1

これは私を完全に夢中にさせています。

したがって、jQuery イベント内で $(this) を使用するたびに、TypeError: $ is not a function が発生します。

ここに私が使用しているコードのサンプルがあります:

$ ->
 $(".some-element").click ->
  if $(this).hasClass("someClass")
   do something

次のようにコンパイルされます。

$(function() {
 $(".some-element").click(function() {
  if ($(this).hasClass("someClass")) {
   do something
  }
 });
});

$(this) を jQuery(this) に変更すると、コードは問題なく動作します。

アドバイスをいただければ幸いです。

アップデート

ページに ckeditor gem ヘルパー タグを使用して作成された CKeditor 要素がありました。私はそれをコメントアウトし、すべてのJavaScriptが機能し始めました。

4

1 に答える 1

3

競合があります。 を使用して.noConflict()解決してください。

var $j = jQuery.noConflict();
// Do something with jQuery
$j("div p").hide();

// Do something with another library's $()
$("content").style.display = 'none';

http://api.jquery.com/jQuery.noConflict/


そう:

var $j = jQuery.noConflict();

$j(function() {
 $j(".some-element").click(function() {
  if ($j(this).hasClass("someClass")) {
   do something
  }
 });
});
于 2012-08-24T15:22:53.740 に答える