JQueryの.click()イベントでこのエラーが発生します。 Firebugで見ます。最新バージョンの1.3.2(分)を使用しています。クリックすると、Webサイトのフォームに対して$ .ajax()リクエストが発生します。私はこれについてグーグルに尋ねました、そして彼が知っているのは認識されない表現としての「%」または「[@]」だけで、「#」については何もありません。
これが私のコードの一部です:
$("form#buyForm #submitForm").live("click", function(e) {
var errors = 0;
var inputLastName_value = $("form#buyForm input#userLastName").val();
if (inputLastName_value == "") {
errors = 1;
formErrorHandling("#userLastName");
return false;
}
return false;
});
このようにして、すべての入力にエラーがないかチェックしてから、formErrorHandling()を呼び出します。formErrorHandling()は、表示/非表示など、重要なことは何もしません。
私のセレクターからのものかもしれないと読みましたが、それらはすべて問題ないようです。
他の誰かが同じ問題を抱えていましたか?
ありがとう。
私が見ることができることから、例外はあなたが使用しているjScrollPane
プラグインによって何らかの形で引き起こされているようです。
含めるスクリプト(2008年12月以降のv1.2.3)を、トランクから直接新しいバージョンに置き換えてみてください。これには、v.1.2.3に対する多くの改善が含まれ、例外が修正されています jScrollPane.js ( jScrollPane.min.js YUICompressorで縮小されたr87jScrollPaneの縮小バージョン)
不要になった古い回答を削除
一部のブラウザでは、IDが空で、JQueryがセレクタとして「#」をチョークします。
2011年9月
から変更
$(document).ready( function () {
$('#'+id).creatorCall( {init:param} ) ;
} );
に
$(document).ready( function () {
$(this).creatorCall( {init:param} ) ;
} );
そしてその自己を治したuncaught exception: Syntax error, unrecognized expression: #
メッセージ
私はそれが古い問題であり、新しいバージョンのjScrollPaneがあることを知っていますが、レガシーの問題のために現在のものを使用する必要があったので、ここに修正があります。上記の回答から jScrollPane.js を使用する場合は、534行目のコードを変更する必要があります。
変化する:
if (h && h.substr(0, 1) == '#' && h.length > 1) {
に
if (h && h!='#' && h.substr(0, 1) == '#' && h.length > 1) {
修正されたドキュメントクリックの原因となるコードのチャンク全体:
$(document).bind('click', function(e){
$target = $(e.target);
if ($target.is('a')) {
var h = $target.attr('href');
if (h && h!='#' && h.substr(0, 1) == '#' && h.length > 1) {
setTimeout(function(){
scrollTo(h, !settings.animateToInternalLinks);
}, $.browser.safari ? 100 : 0);
}
}
});
基本的に、リンクのscrollTo
が#
と等しい場合、href
関数は無視されます。
乾杯
G。
私にとっての問題は、セレクターに#が多すぎることが原因のようでした。
例えば:
$('##id_name')
になるはずだった...
$('#id_name')
formErrorHandling関数はどのように見えますか?セレクターまたはjQueryオブジェクトを期待していますか?
おそらくあなたが必要なのはそれを次のように呼ぶことです
formErrorHandling($("#userLastName"));