@click,@click.native失效問題(原生js代碼innerHTML中填充vue頁面,頁面中點擊事件失效)


解決方式:
    window.mapVue = this
    <input onclick="window.mapVue.locusPath()" type="button" value="軌跡" class="butclass butfont"/>

-----------------------------------------------------------------------

背景:

最近使用mapbox開發時遇到彈框事件問題,代碼如下:

//綁定點的彈窗
self.popupInfoWindow = new mapboxgl.Popup({
closeButton: true,
closeOnClick: false,
offset: {
bottom: [0, -34]
}
})
nrmap.on('click', 'multiPointLayer', function(e) {
var features = self.map.queryRenderedFeatures(e.point)
var reset = {
objId: 'obeid',
appNo: 'appNo'
}
self.popupInfoWindow.setLngLat(e.features[0].geometry.coordinates).setHTML(document.getElementById('orderDetail').innerHTML)
.addTo(nrmap)
})

addTo -- nrmap 原生的js innerHTML 放的是一個vue組件 組件中 @click 事件無效;
@click.native 和 js add最近使用mapbox開發時遇到彈框事件問題,代碼如下:
 
        
//綁定點的彈窗
self.popupInfoWindow = new mapboxgl.Popup({
  closeButton: true,
  closeOnClick: false,
  offset: {
    bottom: [0, -34]
  }
})
nrmap.on('click', 'multiPointLayer', function(e) {
  var features = self.map.queryRenderedFeatures(e.point)
  var reset = {
    objId: 'obeid',
    appNo: 'appNo'
  }
  self.popupInfoWindow.setLngLat(e.features[0].geometry.coordinates).setHTML(document.getElementById('orderDetail').innerHTML)
    .addTo(nrmap)
})
 
        
addTo -- nrmap  原生的js innerHTML 放的是一個vue組件 組件中 @click 事件無效;
@click.native 和 js的 document.getElementById("id").addlistener('click',()=>{  }) 等等都試了 無效果。
最后使用的是:
<template>

  <div class="gjbutton">

  <input onclick="window.mapVue.locusPath()" type="button" value="軌跡" class="butclass butfont"/>
  </div>
</template>
mounted() {
window.mapVue = this
},
methods: {
  locusPath() {
   let self = this
   let data = {}
   self.bus.$emit('dr-order-locus', data)
  },
}





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM