これがシナリオです。私のコンテンツはクラスに基づいて非同期に読み込まれます。したがって、クラスajaxLinkとのリンクがある場合、次のように起動します。
$('a.ajaxLink').click(function (e) {
e.preventDefault();
var container = $(this).parents('div.fullBottomContent');
var href = $(this).attr('href');
container.fadeOut('fast', function () {
$.ajax({
url: href,
dataType: "html",
type: "GET",
success: function (data) {
container.html(data);
BindEventHandlers();
container.fadeIn();
$.validator.unobtrusive.parse('form');
},
error: function () {
alert('An error has occurred');
}
});
});
});
すべて素敵です。confirm
ある例では、ユーザーがページをロードしてすべての変更を失いたいという警告をユーザーに表示したいので、次のように記述しました。
$('a.addANewHotel').click(function (e) {
if (!confirm('Adding a new hotel will loose any unsaved changes, continue?')) {
e.stopPropagation();
}
});
今私は試しましreturn false
たがe.preventDefault()
、e.stopPropagation();
最初のメソッドが常に実行されても?余分なクリックイベントが発生しないようにするにはどうすればよいですか?これはイベントの順序ですか?
これがどのように関連しているかわかりませんが、私のHTMLは次のとおりです。
<a style="" href="/CMS/CreateANewHotel?regionID=3&destinationID=1&countryName=Australia" class="button wideBorderlessButton ajaxLink addANewHotel">Add a new hotel</a>