preventDefault
渡されたイベントを呼び出す必要があります。その他preventDefault
は未定義であるか、何か他のことを行います。試す:
$("#city-button-panel a")
.click(function (event) {
event.preventDefault();
var $link = $(this);
getCityContentAjax($link);
});
デモ: http://jsfiddle.net/vatjK/
が機能するには、ハンドラーが正常に戻る必要があることに注意してくださいpreventDefault
。が例外をスローした場合getCityContentAjax
、例外の伝播を防止せずにデフォルト アクションを防止することはできません。ただし、これを行うことはできます (修正できない場合getCityContentAjax
):
$("#city-button-panel a")
.click(function (event) {
event.preventDefault();
var $link = $(this);
try{
getCityContentAjax($link);
}catch(e){
console && console.error(e);
alert("Look at the console!!!"); // optional
}
});
このコードには構文エラーはありません。ブラウザがそうでないと判断した場合、コードの前に構文エラーが発生している可能性があります。構文エラー (括弧の不一致など) と参照エラー (グローバル スコープの関数が存在しない) には違いがあることに注意してください。