2012-03-22 5 views
1

Jeremy Huets notify-plugin(https://github.com/jhuet/jquery-notify)を使用してエラーを表示しています。jQuery:jquery-sortableのreceive-functionでjQuery-pluginを使用する方法

私がajax-requestのエラー関数でプラグインを使用している場合、私は$.notify is not a functionを取得します。

プラグインをajax-functionの外で使用している場合は動作します。

$.notify('error occured', 'error');  //works 

$.get("http://my.url", 
    function() { 
     //do something 
}).error(function() { 
    //handle error 
    $.notify('error occured', 'error'); //fails 
}); 

他のjQuery関数はエラー関数内で機能します。どうすればエラー機能の中でプラグインを動作させることができますか?

私はすべてのプラグインがエラー機能の内部で動作しないと思います。

ありがとうございました!

EDIT:

申し訳ありませんが、私はエラーではなく、機能が問題を引き起こしていることが分かりました。これはjqueryソート可能です。このコードは実際には次のようなものです:

$.notify('error occured', 'error');  //works 

$(".container").sortable({ 
    receive:function (event, ui) { 
     //handle error 
     $.notify('error occured', 'error'); //fails 
    }); 
}); 
+1

Urr、これは当てはまりません。誤って 'error()'関数の中で '$'を再宣言していないと確信していますか? 'alert(typeof jQuery)'と 'alert(typeof $)'は 'error'ハンドラで実行されたときにあなたに与えるものは何ですか? – Matt

+0

期待どおり 'function'を返します。同じシンタックスを使用して、エラー関数内のすべてのデフォルトjQuery関数にアクセスできます。これを 'notify = $ .notify;とすると' notify() 'を使って関数を呼び出すことができます。この回避策は今のところうまくいくようです。 – flec

答えて

1

問題は、jQueryのは偶然に一度の後JQ-通知を含む前に一度二度含まれていたということでした。 これにより、$が2番目のインクルードによって無効になりました。したがって$.notifyundefinedとなりました。それを別の変数に代入することで問題は一時的に解決されましたが、正しい解決策はもちろんjQueryを1回だけ含むことです。

0

通知はWaypoints(!!)から全く別のライブラリですが、私はこれを自分で実現しました。あなたはjQueryのワットに沿って、含まれることを通知しておく必要があります。

http://notifyjs.com/

関連する問題