私は誰かのコードに取り組んでおり、彼らはすべてのポップアップにjqueryUIダイアログを使用していました。問題は、ダイアログが開いた場所にダイアログが残っている間、ページが一番上までスクロールし続けることです。コードは次のとおりです。
$('body').on('click', 'a[href$="#dialog"]', function(e) {
e.preventDefault();
$('#contact-popup').dialog({
title: 'Contact',
modal: true,
width: 328,
show: {effect: 'fade', duration: 400},
hide: {effect: 'fade', duration: 400},
resizable: false,
draggable: false,
open: function() {
$('#contact-popup form').show();
$('#thanks').hide();
}
})
return false;
});
e.preventDefault()
、
を試しましreturn false
たが、それでもページの一番上までスクロールします。
アンカーからダイアログを呼び出しています:<a href="#dialog">Click Here</a>
ダイアログの呼び出し方法を変更する必要がありますか?それとも私はここで何か間違ったことをしていますか?
テストできるように、リンクは次のとおりです。test.persogenics.com/hire/interview-guide/
ダイアログ「開く」を通常のjs関数に入れてみました-機能しませんでした-それでも一番上までスクロールします:
js:
function popup() {
$('#contact-popup').dialog()
return false;
};
html:
<button onClick="popup();">Click Me</button>
これは、アンカーの問題ではないことを意味します。