Javascript 如何以编程方式在Vuetify.js组件上触发涟漪效应?
我有一个启用ripple的v-btn。有没有办法通过编程触发连锁反应?如果我在我自己的另一个包装按钮的组件上使用v-ripple指令,这可能吗Javascript 如何以编程方式在Vuetify.js组件上触发涟漪效应?,javascript,vuetify.js,Javascript,Vuetify.js,我有一个启用ripple的v-btn。有没有办法通过编程触发连锁反应?如果我在我自己的另一个包装按钮的组件上使用v-ripple指令,这可能吗 我需要以一种不引人注目的方式让用户注意按钮。你可以这样做 <v-btn :ripple=“your_expression”></v-btn> 您可以查看vuetify文档 我想出来了。您必须发送一个“mousedown”事件,并填入clientX和clientY以触发涟漪,然后发送一个“mouseup”以消除涟漪 我在Co
我需要以一种不引人注目的方式让用户注意按钮。你可以这样做
<v-btn :ripple=“your_expression”></v-btn>
您可以查看vuetify文档
我想出来了。您必须发送一个“mousedown”事件,并填入clientX和clientY以触发涟漪,然后发送一个“mouseup”以消除涟漪 我在CompUtil.js中有一个实用方法:
export default {
ripple: function($el) {
let ev = new Event("mousedown")
let offset = $el.getBoundingClientRect()
ev.clientX = offset.left + offset.width/2
ev.clientY = offset.top + offset.height/2
$el.dispatchEvent(ev)
setTimeout(function() {
$el.dispatchEvent(new Event("mouseup"))
}, 300)
}
}
然后我可以做:
<v-btn ref="help" ...>
CompUtil.ripple(this.$refs.help.$el)
CompUtil.ripple(此.$refs.help.$el)
我以前发现过这个问题。我可以通过调用click()或向按钮发送click事件来让按钮单击,但这不会触发涟漪效应。据我所知,该属性只控制按钮单击时是否产生涟漪。我试着打开和关闭它,但它不会产生涟漪。是的,我错误地理解了你的问题。也许您可以通过编程方式触发单击事件?快速提问,这是否会触发按钮上的单击事件,从而调用单击事件处理程序?不是,似乎不会