我正在使用TideSDK开发我的第一个应用程序。我有一些类似工具栏的按钮,我希望它们在鼠标离开窗口时淡出。
很遗憾看起来TideSDK不会在mouseout
对象上触发mouseleave
或window
个事件,而且我无法使用mousemove
检测它,因为很明显当光标不在主应用程序窗口时,不会触发mousemove
个事件。
我没有在TideSDK官方文档中找到Ti.UI.UserWindow
的任何鼠标相关事件。
有人有想法吗?
感谢。
答案 0 :(得分:2)
我在TideSDK遇到同样的问题。在Chrome或Firefox window.onmouseleave工作正常,但不在TideSDK(愚蠢的旧Webkit):(但...... 你可以使用CSS和:将鼠标悬停在#wrapper里面:)你可以在每一侧移动#wrapper 1px(按位置:固定为例),然后你写了这样的东西:
#wrapper:hover #myelement{
// some CSS
}
答案 1 :(得分:1)
是否会在其他对象上触发mouseout或mouseleave事件?您可以创建另一个与窗口大小相同的对象并放置在背景中。
答案 2 :(得分:0)
可能的解决方法可能是使用计时器。每次定时器触发时,检查鼠标的位置,如果它不在窗口范围内,请手动触发鼠标左键。
我在TideSDK上没有足够的经验告诉你如何在屏幕上显示鼠标的位置,对不起。
答案 3 :(得分:0)
您不需要TideSDK来执行此操作,您只需使用JavaScript即可。
这是我在jQuery中所做的:
$(document).on("mouseenter", function() {
return $("#side_bar_container").addClass("slide_in");
});
$(document).on("mouseleave", function() {
$("#side_bar_container").removeClass("show_full_menu");
$("#side_bar_container").removeClass("slide_in");
return removeAllClasses("active", $(".show-archive"));
});
这适用于我当前的TideSDK应用以及我正在测试的所有浏览器。