我有一个svg元素<svg id="svgMenuOpen" className="bottomMenu" width={302} height={302} onMouseDown={this.selectElement.bind(this)} >
。方法 -
selectElement(e){
let svg = document.getElementById('svgMenuOpen');
svg.setAttributeNS(null, "onmousemove", "this.moveElement");
}
moveElement(e){
console.log('something')
}
this.moveElement
是方法,我现在正在向控制台写一些东西。但是这个方法没有被调用。我试过而不是this.moveElement
写this.moveElement.bind(this)
或this.moveElement()
,但它会抛出错误
this.moveElement is not a function
或Cannot read property 'bind' of undefined
。使用this.moveElement
时,控制台中没有错误...当我只是简单地写this.moveElement
console.log('something')
时,它就可以了。那么任何提示?
答案 0 :(得分:0)
selectElement(e){
let svg = document.getElementById('svgMenuOpen');
const thiz = this;
svg.onmousemove = function() {
thiz.moveElement.bind(thiz);
}
}