在Vue中,我們有時候會使用HTML5的拖放API來實現一些功能。在這個過程中,我們常常會用到dragstart事件。但是有時候我們卻發現dragstart事件無法正常觸發,而且也不會報錯。這是為什么呢?
經過一番探究,我們發現,dragstart事件不生效的原因是因為Vue對于元素的事件綁定進行了封裝和代理。這就導致了在綁定事件時,dragstart的事件名被Vue屏蔽了。
以上代碼中,我們為元素綁定了dragstart事件,但是經過Vue的代理后,這個事件就無效了。
那么該如何解決呢?我們可以使用Vue的.native修飾符來解決。這個修飾符可以告訴Vue,我們需要綁定一個原生的DOM事件,而非Vue自己的封裝事件。
以上代碼被轉換后,就會綁定到元素的原生dragstart事件上,從而實現了我們的需求。