方案:将html文本里面的图片地址保留起来,然后做一个长按事件,放手后进行预览图片地址(缺点:无法确定长按的是那一张,全部展示)
html
<view class="text-content" style="max-height: max-content;"> <rich-text bindtouchstart="onStart" bindtouchend="onEnd" user-select nodes="{{JournalismDetailDto.thisDetail.journalismContent}}"></rich-text> </view>
js
//整理图片 var paths = []; var idx = res.data.thisDetail.journalismContent.indexOf(`src="${app.globalData.downloadurl}/`); while (idx !== -1) { var idx2= res.data.thisDetail.journalismContent.indexOf('">',idx); if(idx2!==-1){ var path = res.data.thisDetail.journalismContent.substring(idx, idx2); paths.push(path.replace('src="','')) } idx = res.data.thisDetail.journalismContent.indexOf(`src="${app.globalData.downloadurl}/`, idx + 1); } //长按操作 startTime: null, endTime: null, picslist:[],//图片集合 onStart: function (event) { this.data.startTime = event.timeStamp console.log("按下时间戳:" + this.data.startTime) }, onEnd: function (event) { this.data.endTime = event.timeStamp console.log("抬起时间戳:" + this.data.endTime) let ti = this.data.endTime - this.data.startTime if (ti >= 1500) { console.log("大于指定时间,开始执行对应的业务逻辑") wx.previewImage({ urls: this.data.picslist, // 需要预览的图片http链接列表 }) } else { console.log("小于指定时间,不执行操作") } }