0

「コイン」を使って物を買える「ショップ」のあるウェブサイトを持っています。ただいま、ショップを作ってテスト中ですので、こちらからご覧ください http://coinawards.net63.net/structure/shop.php

したがって、「40 コインで購入」というボックスをクリックすると、「カートに追加されました」という水色のボックスがポップアップ表示されます。

現在、私のコードでは、「購入」ボタンがぼやけるとポップアップが消えるはずですが、そうではありません。誰かがそれを修正する方法を知っていることを期待して、以下にコードを投稿します!

コード:

function init()
{

    var buyinfobutton = $(".buyinfo");

    buyinfobutton.on("click",AddToCart);

    buyinfobutton.on("blur",popUpVanish);

    $('#confirmbox').hide();

}

onload = init;

var shoppingcart = {};

function AddToCart()
{
    // This is called properly.
    $('#confirmbox').show('normal');

}

function popUpVanish()
{
    // This is never called!
    $('#confirmbox').hide();

}

また、私のサイトを見て、ある部分を改善する必要があると思われる場合 (いくつかの部分が悪いことはわかっています)、それも書き留めておいてください! ありがとう!

4

2 に答える 2

1

これが私が思いついたものです。探しているものだと思います。私はあなたのコードを少しリファクタリングしました。

http://jsfiddle.net/kYT5U/

$(document).ready(function() {
    $(".buyinfo")
    .click(AddToCart)
    .mouseout(popUpVanish);
    $('#confirmbox').hide();
});

var shoppingcart = {};

function AddToCart() {
    $('#confirmbox').show('normal');
}

function popUpVanish() {
    $('#confirmbox').hide();
}

遅延とフェードアウトで更新されたjsfiddle http://jsfiddle.net/kYT5U/1/

于 2013-03-29T18:15:22.590 に答える
1

div問題は、 (一部のブラウザーでは) デフォルトでフォーカスをサポートしていないDOM 要素 ( ) でフォーカス関連のイベントを使用しようとしていることです。tabindexの属性をdiv.buyinfoクラスで設定すると、コードは期待どおりに動作します。詳細については、こちらの回答を参照できますが、このプロパティをあなたdivのようなものに設定すると

$(".buyinfo").attr("tabindex", -1)

その後、期待どおりに動作します。

于 2013-03-29T18:17:51.980 に答える