你好, 我想知道如何改变我的鼠标事件 ,因为我想X.Caption激活只有当我右键点击它。 非常感谢你如何改变事件[XTK]
回答
如果我是正确的(其他贡献者,不要害怕纠正我),您可能需要编辑XTK的内部,以满足您的需求。 XTK拥有在X.event.js
中定义的“控件”,因为它是从Google Closure库中获取的事件,如HoverEvent
和PanEvent
。您可以更多地关注Google Closure资料库,因为我还没有完全查看它,但X.caption
大部分来自Goog.ui.Tooltip
,可用于Goog.ui.Popup
,Goog.ui.PopupBase
和Goog.events
的活动。您可以尝试将Goog.events
添加到您的Javascript中,并定义您自己的点击事件或与之相关的内容,然后再查看Google Closure库。
如果我刚刚在上面的小段落中所写的内容不完全正确或者类似的话,那么当然有基本的Javascript DOM事件用于点击。我不太确定那些将如何与XTK一起工作,因为XTK使用WebGL进行渲染。您可以在http://www.w3schools.com/jsref/dom_obj_event.asp查看基本活动。如果您为自己找到任何解决方案,欢迎您将其贡献给XTK。
我觉得有太多的方法没有?更改xtk源代码并编译您自己的版本或类似如下内容:
window.onload = function() {
myrenderer.config.HOVERING_ENABLED = false; // disabling show caption on mousehover
var mouse_x, mouse_y;
myrenderer.interactor.onMouseMove = function(event) {
mouse_x = event.offsetX;
mouse_y = event.offsetY;
}
myrenderer.interactor.onMouseDown = function(left,middle, right) {
if (right) {
var picked_id = myrenderer.pick(mouse_x, mouse_y);
if (picked_id==-1) throw new Error("No object");
var picked_object = myrenderer.get(picked_id);
var mycontainer = myrenderer.container;
var caption = new X.caption(mycontainer,mycontainer.offsetLeft + mouse_x + 10, mycontainer.offsetTop + mouse_y + 10,myrenderer.interactor);
caption.setHtml(picked_object.caption);
// use settimeout or something else to destroy the caption
}
}
}
以下JSFiddle显示了如何执行此操作。要实际显示工具提示等,您可以使用任何JS库,如jQuery UI。
JSfiddle很酷,但在Chrome上有一个小故障,一旦我杀死该标题/工具提示,并且它悬停在画布上,画布仍然认为你按住鼠标右键并开始从XTK交互中放大和缩小。 – Karijuana 2012-08-08 19:41:43
- 1. XTK 2D渲染器onmousedown事件位置
- 2. 如何改变点击事件的类
- 3. JavaScript:如何改变事件的顺序?
- 4. Fullcalendar:如何改变eventclick事件标题
- 5. DTPicker改变事件
- 6. emberjs事件改变
- 7. 改变事件的
- 8. 你如何改变同一事件的事件激发顺序?
- 9. 触发改变事件点击事件
- 10. XTK改变画布的高度和宽度
- 11. 我们如何使用XTK解决窗口大小调整事件?
- 12. xtk-deps.js文件丢失?
- 13. 在改变事件Ext.form.DateField
- 14. 焦点事件改变了?
- 15. Canjs改变了事件
- 16. 选择改变事件
- 17. Radiobutton组,改变事件?
- 18. h:selectOneMenu改变事件与p:ajax
- 19. 事件,当DIV改变
- 20. 了解Angular2改变事件
- 21. jQuery的事件改变
- 22. @ Html.TextBoxFor文本改变事件
- 23. 形态改变事件
- 24. 改变事件目标
- 25. 的UIDatePicker事件改变
- 26. GWTP模型改变事件
- 27. office.js小区改变事件
- 28. 改变事件的GWT
- 29. JAVA:JLabel不会改变事件
- 30. 如何控制已经改变,如何中断mouseUp事件
不要忘记通过XTK的内部看,因为他们可以比网上发布提问更加有用。对于你的问题,查看'X.event.js','X.interactor.js'和'X.caption.js'。 – Karijuana 2012-07-30 20:20:30