《精选问答》挑选CSDN问答频道每周最新最热的优质回答,为大家提供可信赖的优质解答,点击查看更多已解决问题
目录
4、C中free报错问题:heap corruption detected
7、原生js页面内点击导航按钮跳转到指定位置,为什么实现不了?
1、python自定义类的私有类中,如何实例化私有类本身
问题描述:
在下述代码中,执行之后会有出错提示 NameError: name '_B__B' is not defined
class A:
def __init__(self):
self.name = '测试类'
self.class1 = self.__B()
self.class2 = self.class1.doSomeThing()
class __B:
def __init__(self):
self.name = '私有类'
def doSomeThing(self):
return __B()
a = A()
请问,如何在私有类中实例化本身的类型,使用公有类可以实例化,不用回答这个方式了
解决方案——来自@sHlsy1995的回答
关键还是你是一个私有类,所以在A里的名字不是__B而是_A__B
class A:
def __init__(self):
self.name = "测试类"
self.class1 = self.__B()
self.class2 = self.class1.doSomeThing()
class __B:
def __init__(self):
self.name = "私有类"
def doSomeThing(self):
return self.__class__()
本题更多回答戳链接:https://ask.csdn.net/questions/7449628
2、VUE中如何实现鼠标移动到某网页区域,屏蔽滚轮的功能
问题描述:
如图,这是一个用canvas库(fabric.js)生成的图像,用鼠标滚轮能使图像缩放。问题是用滚轮的同时,整个网页也会上下滚动。有没有办法让我鼠标停留在图像上滚动时,屏蔽网页的滚动。
我知道Vue有一个@scroll.prevent的写法,但是好像只能用在特定的组件上,如input.
如果用VUE不行的话,用原生js解决也行。
以下是滚轮实现canvas画布缩放的代码
onMouseWheel(){
// 滚动缩放画布大小
this.canvas.on('mouse:wheel', (options) => {
let zoom = (options.e.deltaY > 0 ? -0.1 : 0.1) + this.canvas.getZoom()
// 最小为原来的1/10
zoom = Math.max(0.1, zoom)
// 最大是原来的3倍
zoom = Math.min(5, zoom)
// 在中心缩放
const zoomPoint = new fabric.Point(this.canvas.width / 2, this.canvas.height / 2)
this.canvas.zoomToPoint(zoomPoint, zoom)
})
}
——————————————————6月15日更新
贴出我最后实现的代码,唯一的缺点就是滚动条会消失
window.onload = ()=>{
let mapcover = document.getElementById("mapcover");
console.log('执行了')
mapcover.onmouseout = ()=>{
document.documentElement.style.overflow='auto';
}
mapcover.onmouseover = ()=>{
document.documentElement.style.overflow='hidden';
}
}
解决方案——来自@雨生百谷,方为谷雨的回答
你可以试试给canvas绑定个mouseover和mouseout事件在这个里可以设置个禁用滚轮 类似这样https://www.cnblogs.com/linjiangxian/p/11460930.html ,其他方法都会很麻烦,比如鼠标移动获取坐标,之类的
本题更多回答戳链接:https://ask.csdn.net/questions/7448934
3、vue3的render函数绑定点击事件失败
问题描述:
app.component("child", {
props: ["count"],
methods: {
handleClick() {
console.log("test");
},
},
render() {
const { h } = Vue;
return h(