你好, 我想知道如何改變我的鼠標事件 ,因爲我想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