我似乎无法绑定到html5拖放事件。
以下是一个范例:
<script id="tabsTemplate" type="text/html"> <div class="dropzone" for="tab" data-bind="event:{dragover: function(event){event.preventDefault();},dragenter: function(event){event.target.addClass('dragover'); event.preventDefault();},dragleave: function(event){event.target.removeClass('dragover'); event.preventDefault();}} drop: function(event){console.log('blahblah!')}"></div> <h1 class="tab" draggable="true" data-bind="attr: {selected: $data.name === $item.selected()},click: function(){$item.selected($data.name)},event:{ dragstart: function(event){console.log('blah!!')},dragend: function(event){document.getElementsByClassName('dragover')[0].removeClass('dragover')}}"> ${name} <img src="icons/close-black.png" class="close button" role="button" data-bind="click: function(e){$item.close($data)}"> </h1> </script>
我应该按预期的方式工作,只要我使它们成为正常的内联就行了。然而,其他绑定不起作用!
我收到此错误消息:
Uncaught SyntaxError: Unexpected token ‘||’ jquery-tmpl.js:10
这里发生了什么?有什么我在做错了吗?
解决方法
好的,我已经完成了。似乎我错过了文档,它说在敲除,默认情况下,它使所有事件阻止默认/返回false。所以我要做的只是让我的dragstart处理程序返回true,现在它可以工作。唷!