0
<script>
function confirmDel(evt)
{var con =false;
    con=confirm('Do you really want to remove this purchase?.');
    if(con)
    {
        return true;
    }else
    {
        event.preventDefault();
    }
}
</script>

私のhtml

 <a title="View Log" onclick="return confirmDel(this);" href="index.php?mod=tech_support">delete</a>

上記のコードは chrome ブラウザでは問題なく動作しますが、Mozilla では失敗します。しかし、return false代わりに使用するとevent.preventDefault();、両方で正常に動作します。なぜこれが起こるのか誰でも説明できますか

4

1 に答える 1

3

問題はevent.preventDefault(). あなたが渡しているイベントはevtではなくeventです。以下を使用する必要があります。

evt.preventDefault();

event.preventDefault()下位互換性のために古い IE の動作を模倣しているため、Chrome で動作します ( innerText.

古い IE では、イベント オブジェクトはwindow.event. したがって、呼び出しevent.preventDefault()は、Chrome と IE で機能するグローバル イベント オブジェクトを呼び出しますが、この非標準の動作を実装していない Firefox では機能しません。

于 2012-11-02T09:17:44.657 に答える