1

質問があります(驚くべきことに;)):

関数を壊さずにリンクにfalseを返すにはどうすればよいですか?以前はjQueryを使用せずにこれを実行していましたが、当時は一定間隔後に実行するようにアニメーションを設定し、falseを返しました。今回は実行を継続するための関数が必要です。

function initNavLinks(){
    navLinks = $("div#header a").click(function(){
        return false;
        processSlideReq();
    })
}

よろしくお願いします

4

3 に答える 3

6

おそらく、次のようなイベントのデフォルトのアクションを防ぐ必要があります。

function initNavLinks(){
    navLinks = $("div#header a").click(function(e){
        e.preventDefault();
        processSlideReq();
    })
}

jQueryのイベントオブジェクトのドキュメントバインドのドキュメントを読んで、falseを返す、preventDefault()を呼び出す、イベントハンドラー内でstopPropogation()を呼び出すことの違いを理解することをお勧めします。

于 2010-10-13T13:09:41.670 に答える
4

行を入れ替えて実行できない理由はありますか?

function initNavLinks(){
    navLinks = $("div#header a").click(function(){
        processSlideReq();
        return false;
    })
}

于 2010-10-13T13:11:00.277 に答える
1

理論的な好奇心と同じように、JavaScript 1.7のジェネレーターサポートを使用することもできます(ただし、Firefoxでのみ機能し、リンクには適用されません)。

function x() {
    yield false;
    yield doSomething();
}

first_return_value = x();
second_return_value = x();
于 2010-10-13T13:31:10.407 に答える