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  

                })
            }

此记录为平时遇到问题已解决的过程,如有什么问题或者更好的解决方式希望大佬多多提点。

Logo

前往低代码交流专区

更多推荐