1

更新する必要のある既存のスクリプトがあります。次のように構成されたリンクが多数含まれています。

<a href="#" onclick="showDialog();return false;">someText</a>

function showDialog(){
$("#modal").dialog("open");
return false;
}

クラスまたはIDを持っているものもあれば、ほとんどすべてがjQueryダイアログを開くわけではない(moodal)ビューポートの上で開くダイアログボックスで断続的な問題が発生するため、デフォルトのトップへのスクロール動作を停止する必要があります。

PreventDefaultを使用したいのですが、クラスまたはIDが存在しない場合に使用するのに最適な方法がわかりません。

この質問のポイントは、クラスを追加したり、リンク構造を変更したりせずに問題を修正することです。リンクが既存のスクリプトでコーディングされているため、リンクで機能するソリューションが必要です。

4

2 に答える 2

3

javascript:void(null); を使用しないのはなぜですか。hrefとして?

<a href="javascript:void(null);" onclick="showDialog(); return false;">SomeText</a>
于 2013-03-16T21:12:40.867 に答える
1

jQueryを使用しているので、次のように再構築します...

HTML

<a href="#" class="dialog-link">Text</a>

JS

<script>
$(document).ready(function(){
    $('.dialog-link').on('click', function(e){
        e.preventDefault();
        $("#modal").dialog("open");
    });
});
</script>

を使用return falseする場合は不要ですpreventDefault

于 2013-03-16T21:14:39.080 に答える