0

html5 ドキュメントに以下のコードがありますが、IE では機能しません。Chrome では問題なく動作しますが、IE はスクリプトとそのコーディング方法についてそれほど寛容ではないことを読んだことがあります。

私はjQueryに非常に慣れていないので、助けていただければ幸いです。

<div class="gallery">

    <div id='gallery-1' class='gallery galleryid-6 gallery-columns-9 gallery-size-thumbnail'>
        <dl class='gallery-item'>
            <dt class='gallery-icon'>
                <a href='http://mysite.co.uk/homepage-01.jpg'><img src="http://mysite.co.uk/01-90x90.jpg" /></a>
            </dt>
        </dl>
        <dl class='gallery-item'>
            <dt class='gallery-icon'>
                <a href='http://mysite.co.uk/homepage-02.jpg'><img src="http://mysite.co.uk/02-90x90.jpg" /></a>
            </dt>
        </dl>
        <dl class='gallery-item'>
            <dt class='gallery-icon'>
                <a href='http://mysite.co.uk/homepage-03.jpg'><img src="http://mysite.co.uk/03-90x90.jpg" /></a>
            </dt>
        </dl>
    </div>

</div><!--gallery-->

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

<script>
    $(document).ready(function () {
        $("div.gallery a").click(function () {
            event.preventDefault();
            $("div.picture").html($("<img>").attr("src", this.href).fadeIn(1000));
        });
    });
</script>
4

2 に答える 2

4

変数eventが定義されていません。次のようにする必要があります。

$("div.gallery a").click(function (event) {
    event.preventDefault();
    $("div.picture").html($("<img>").attr("src", this.href).fadeIn(1000));
});
于 2013-02-28T00:45:30.557 に答える
0

eventをクリック ハンドラに「渡す」必要があります。

$("div.gallery a").click(function(event) {    // <---- here
        event.preventDefault();

...それ以外の場合eventは、クリック ハンドラー内で定義されていません。それを参照すると、物事が壊れます(どこでも機能することに驚いています)。

于 2013-02-28T00:46:03.177 に答える