0

カラーボックス ポップアップが関連付けられているハイパーリンクを表示しようとしています。JavaScriptは次のとおりです。

function bid() {    
  var bid = document.getElementById("bid").value;
  if (bid>0 && bid<=100) {
    var per = 3.50;
  } else if (bid>100 && bid<=200) {
    var per = 3.40;
  } else if (bid>200 && bid<=300) {
    var per = 3.30;
  }

 var fee = Math.round(((bid/100)*per)*100)/100;
 var credit = 294.9;

   if (fee>credit) {
     var message = 'Error';
   } else {
     var message = '<a class="popup" href="URL">The link</a>'; 
   }

   document.getElementById("bidText").innerHTML=message;
 }

JavaScript は正常に動作し、適切な条件でリンクを表示しますが、問題は、リンクをクリックすると、カラーボックスが適用されず、ページが通常のハイパーリンクとして読み込まれることです。

ヘッダーに次のコードがあります。

jQuery(document).ready(function () {
  jQuery('a.popup').colorbox({ opacity:0.5 , rel:'group1' });
});

標準の HTML ソースでハイパーリンクのみを出力すると、正常に動作し、カラーボックスに正しく表示されます。

どんな助けでも大歓迎です:)

4

2 に答える 2

2

メソッドを呼び出す前に、リンクを追加するまで待つ必要がありますcolorbox()

colorbox()の後に来るようにメソッドを移動しますinnerHTML

jQuery('a.popup').colorbox({ opacity:0.5 , rel:'group1' });
于 2013-02-13T18:59:02.617 に答える
0

html を動的に追加する場合、既に追加されているイベントをトリガーすることはできません。次のコードを試してください

jQuery(document).ready(function () {
      $("a.popup").on("click", function(event){
      applycolorbox($(this));
});


function applycolorbox($elem) {
         $elem.colorbox({ opacity:0.5 , rel:'group1' });
}
于 2013-02-13T19:00:21.280 に答える