亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery 每個方法都不會選擇附加的 HTML

jQuery 每個方法都不會選擇附加的 HTML

滄海一幻覺 2022-06-16 15:47:13
我有一張地圖和一組標記。我希望用戶能夠單擊包含在附加 HTML 中的按鈕,該 HTML 添加到<p>帶有側類的 a 中。下面的代碼是我所擁有的,它適用于地圖上方的按鈕,現在只是對代碼的測試。但是,我希望側邊欄上的眼睛按鈕像上面的按鈕一樣工作。我曾嘗試使用$('#find').each,但它不起作用。each 方法是否不適用于附加的 HTML?我發現這適用于附加的 HTML,但是它不會運行標記單擊。我此時已將其分配給眼睛按鈕:$(document).on('click', '#find', function(i) { alert("Hello! I am an alert box!!");      google.maps.event.trigger(markers[i], 'click');     });你可以在這里看到我的代碼:https ://ddtech.live/test/免責聲明:這只是我的一個愛好,還在學習中。HTML<p class="side"></p>JS var markers = [];        $('#btn button').each(function(i,e) {          $(e).click(function(i,e) {             return function(e) {                   google.maps.event.trigger(markers[i], 'click');            }          }(i));        });    var status = '<span style ="float: right"><button id="find" class="zoombtn2" onclick=""><i class="fas fa-eye"></i></button></span>'     var name = markerData.first + " " + markerData.last;     var str = name.toLowerCase().replace(/\b[a-z]/g, function(letter) {        return letter.toUpperCase();      }); $(document).ready(function() {      $('p.side').append('<div class="boxed">' + str + status + '</div>');       });
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

最終使用下面的。再次感謝那些回答。


function clickLatLng() {

  [...document.querySelectorAll('.boxed')].map((el, i) => {

    el.addEventListener('click', () => {

      map.panTo(markers[i].getPosition());

      map.setZoom(8);

    });

  });

}


side_bar_html += '<div class="boxed">' + str + location + live + '</div>';

//  put the assembled side_bar_html contents into the side_bar div

document.getElementById("side_bar").innerHTML = side_bar_html;

連同這個作為我的按鈕:


var location = '<button class="zoombtn" onclick="clickLatLng()"><i class="e70-5 x-icon" aria-hidden="true" data-x-icon-o="?"></i></button>'



查看完整回答
反對 回復 2022-06-16
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

你不能使用$('#find').eachas#find是一個 id。每頁只能為一個元素使用一個 id。假設您的按鈕索引與谷歌地圖標記正確相關,您可以使用以下代碼:


$('.boxed button').each(function(i,e) {

  $(e).click(function(i,e) {

    return function(e) {

      google.maps.event.trigger(markers[i], 'click');

    }

  }(i));

});

在為每個按鈕分配數據屬性并使用它來選擇正確的標記時,您可能會得到更好的結果:<button data-id="someid"></button>


在您的每個函數中,您將選擇數據屬性:$(this).data("id")


查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號