Javascript 当事件发生时,Cytoscape从元素中移除样式
当我有一个元素时,我会在鼠标悬停时添加一些边框,以指示将单击哪个项目:Javascript 当事件发生时,Cytoscape从元素中移除样式,javascript,cytoscape.js,Javascript,Cytoscape.js,当我有一个元素时,我会在鼠标悬停时添加一些边框,以指示将单击哪个项目: // cy an instance of a cytoscape object cy.on('tap',function(event){ var evtTarget = event.target; if( evtTarget === cy ){ console.log('tap on background'); $("#nodes").hide();
// cy an instance of a cytoscape object
cy.on('tap',function(event){
var evtTarget = event.target;
if( evtTarget === cy ){
console.log('tap on background');
$("#nodes").hide();
$("#no_selected").show();
} else {
console.log("Display Info")
displayInfo(evtTarget._private.data.properties);
}
}).on('mouseover',function(event){
var evtTarget = event.target;
if( evtTarget !== cy ){
console.log("Mouse Over");
evtTarget.style('border-width','2px').style('border-color',"#AF0000");
}
}).on('mouseout',function(event){
var evtTarget = event.target;
if( evtTarget !== cy ){
console.log("Fired");
evtTarget.style('border-width',null).style('border-color',null);
}
});
因此,我想要实现的是,当发生
mouseout
事件时,从节点移除W边框。到目前为止,我还不知道如何做到这一点,在上面的代码中,这种情况并没有发生。您知道如何从节点或边缘删除样式
属性吗?在您的情况下,当发生鼠标移出事件时,只需在0px
中设置边框宽度
:
// In your case just chain it with other `on methods`
cy.on('mouseout',function(event){
var evtTarget = event.target;
if( evtTarget !== cy ){
console.log("Fired");
evtTarget.style('border-width','0px);
}
});
正如我所看到的,您只需要将属性值重置为默认值,该默认值已在边或节点的style
部分中设置。
有时,只需设置一个默认值(例如,对于尺寸0px就足够了,这样就不会显示)就可以为最终用户实现所需的效果