使用es6模板字符串之后点击事件不生效
1.vue中定义@click不生效vue中开始我使用的@click绑定方法,显而易见点击是没有触发的。后面百度上很多说使用onclick方式绑定结果还是没有生效。具体原因为什么 还没有很清楚,感觉应该是因为onclick绑定的事件,并不能在vue实例之中触发吧,然后我又将方法放到了script标签里结果还是没能触发。最后只能使用原生js获取到需要点击的元素,从而实现点击事件。//点击的元素。需要确
·
1.vue中定义@click不生效
vue中开始我使用的@click绑定方法,显而易见点击是没有触发的。后面百度上很多说使用onclick方式绑定结果还是没有生效。
具体原因为什么 还没有很清楚,感觉应该是因为onclick绑定的事件,并不能在vue实例之中触发吧,然后我又将方法放到了script标签里结果还是没能触发。
最后只能使用原生js获取到需要点击的元素,从而实现点击事件。
//点击的元素。需要确保有创建该元素
let domClick = document.querySelectorAll('.lar-el-progress-box')
for(let i=0;i<domClick.length;i++){
domClick[i].onclick = function(){ // 点击事件
//获取该元素下耨一个指定类名元素,并改变其样式属性
domClick[i].getElementsByClassName('lar-el-progress-info')[0].style.display ='block'
}
}
2.使用innerhtml设置元素内容之后,内容节点无法点击
数据:
innerHTML设置内容:
这里我使用了jquery.js,所以使用${‘img’}想获取img元素节点,结果是打印为空数组。
之后查了百度,
首先:在设置innerHTML之后添加一个点击的监听事件(一定要在使用innerHtml设置内容之后添加,确保我们可以获取到该节点)再调用一个点击方法letImgBig()
document.querySelector("#caseHeadtitle").innerHTML=laboratoryDataNow.headtitle
document.querySelector("#caseDiscribe").innerHTML=laboratoryDataNow.discribe
// 监听点击事件
document.querySelector("img").addEventListener("click", function() {
} , false)
// 图片放大
letImgBig('img')
// 图片缩小
letImgSmall()
点击元素的方法,此时则可以成功触发点击事件。
// 图片放大放方法
// '.case-imglist-3 .img img'
function letImgBig(data){
$(data).on('click', function(){
$('.large-img-position-img').attr('src',$(this)[0].src);
// 事件回调函数
$('.large-img-position').fadeIn("fast");//淡入显示#outerdiv及.pimg
})
}
此记录为平时遇到问题已解决的过程,如有什么问题或者更好的解决方式希望大佬多多提点。
更多推荐
已为社区贡献1条内容
所有评论(0)