1

ブラウザー内から別のポップアップ ウィンドウに移動して、自分の Web サイト用に作成した音楽プレーヤーを改善しようとしています。jQuery に href 値を取得させるコードを作成/操作しました。それを新しいウィンドウに送信します。問題は<a>タグをクリックしたときだけで、href クリックと jQuery アクションを実行します (実行するように)。ユーザーがJavaScriptを無効にしている場合に、まったく聞くことができないのではなく、少なくとも新しいタブで音楽プレーヤーを使用できるようにする効率的な方法を見つけようとしていますが、方法がわかりませんこれについて行きます。要素 href を var に設定してから、href 属性を削除すると機能しますか? または、これによりエラーが発生しますか?

HTML の例:

<a href="this_page.cfm?song=1" target="_blank" class="playSong" id="#artist# - #song#">Play Track</a>

jQuery の例:

<script type="text/javascript">
    $(document).ready(function(){
        $(".playSong").click(function(){
            var url = $(this).attr('href');
            var windowName = $(this).attr('id');

            window.open(url, windowName, "height=300,width=400");
        });
    });
</script>
4

4 に答える 4

1

data-*ID に曲やアーティストのデータを格納するよりも、属性を使用する方が適切です。

<a href="this_page.cfm?song=1" target="_blank" class="playSong" data-info="#artist# - #song#">Play Track</a>

.preventDefault()またはreturn false;、Javascript が有効になっている場合は、ブラウザーがリンクをたどらないようにするために使用できます。

$(".playSong").click(function(){
    var url = $(this).attr('href');
    var windowName = $(this).data('info'); // <-- using .data()

    window.open(url, windowName, "height=300,width=400");
    return false;
});
于 2013-06-14T09:40:50.947 に答える
0

リンクをクリックしたときに return false を指定する必要があります。次のように :

    $(document).ready(function(){
        $(".playSong").click(function(){
            var url = $(this).attr('href');
            var windowName = $(this).attr('id');

            window.open(url, windowName, "height=300,width=400");
            return false;
        });
    });
于 2013-06-14T09:39:52.987 に答える