0

画像と説明を読み込むWordpressシャドウボックスがあります。説明にはいくつかのリンクがあり、そのリンクを画像にも配置したいので、ユーザーが画像をクリックするとこのリンクが開きます。

このスクリプトを試してみましたが、間違いなくいくつかの欠陥があります。画像を1回クリックした後にのみリンクが作成され、「a」がアンラップされないため、新しいリンクを他の動的に読み込まれる画像に使用できます。

$("#sb-wrapper-inner").live("click", function(){
  var $link = $("#sb-title-inner a").attr("href");
$(this).wrap("<a></a>").parent("a").attr("href", $link).trigger('click');
});

何か助けてください?

前もって感謝します。

4

2 に答える 2

0

ありがとう、しかしあなたの解決策はコンソールでいくつかのエラーを与えました: SyntaxError: Unexpected token ILLEGAL

この方法を次のように改善および簡素化しました。

$("#sb-wrapper-inner").live("click", function(){
if ( $("#sb-title-inner a").length > 0 ) {
  var link = $("#sb-title-inner a").attr("href");
  window.location = link;
}
});

現在は正常に動作していますが、カーソルがポインターに変更されていないだけです。これによってどのように改善できるかについての提案はありますか?

于 2012-11-18T09:44:04.620 に答える
0

リンク クリックが href url にリダイレクトされるため、ネイティブ イベントをトリガーすることはできません。明らかにセキュリティ上の理由からです。ただし、 href 属性の対象となる URL にリダイレクトすることはできます。

$(document).on("click","#sb-wrapper-inner", function(){ 
  var link = $("#sb-title-inner a").attr("href");
$(this).wrap("<a></a>").parent("a").attr("href", link);
     window.location​​​​​​​​​​​​​ = link;​ //or use window.location.replace(link) if you dont care about browser's history
});
于 2012-11-17T13:01:51.477 に答える