作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面代码的目的是当鼠标悬停在蓝色或红色矩形上时显示红色矩形。请注意,红色矩形与蓝色重叠。
问题是,当鼠标悬停在红色矩形上时,它开始闪烁和/或消失,正如您在此 jsfiddle 中看到的那样
我什至为红色矩形的鼠标悬停事件添加了一个警报,但它从未被触发。这段代码有什么问题?
这是javascript:
var r1 = null, r2 = null, over_r2 = false;
var paper = Raphael("canvas", 600, 600);
r1 = paper.rect(100,100, 200,200);
r1.attr({ "fill" : "blue"});
r1.mouseover(function(e) {
if ( r2 == null ) {
r2 = paper.rect(150,150, 200,200);
r2.attr({ "fill" : "red"});
}
});
r1.mouseout(function(e) {
if (r2 != null && over_r2 == false) {
r2.remove();
r2 = null;
}
});
r2.mouseover(function(e) {
over_r2 = true;
alert("Hello");
});
r2.mouseout(function(e) {
over_r2 = false;
});
最佳答案
有两个问题
r2
。只需最初创建它并隐藏它。您应该已经在您的控制台上看到一个错误,即 r2.mouseover
不是一个函数。r1
上获得 mouseout。为了防止它做任何事情,您可以检查事件的 relatedTarget
属性 参见 http://jsfiddle.net/mendesjuan/8Zy3F/6/
var r1 = null, r2 = null, over_r2 = false;
var paper = Raphael("canvas", 600, 600);
r1 = paper.rect(100,100, 200,200);
r1.attr({ "fill" : "blue"});
r2 = paper.rect(150,150, 200,200);
r2.attr({ "fill" : "red"});
r2.hide();
r1.mouseover(function(e) {
r2.show();
});
r1.mouseout(function(e) {
if (e.relatedTarget != r2[0]) {
r2.hide();
}
});
r2.mouseout(function(e) {
if (e.relatedTarget != r1[0]) {
r2.hide();
}
});
关于javascript - 拉斐尔,鼠标悬停和鼠标移开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896037/
在我的应用程序中,当 EditText 失去焦点时,我需要做一些事情。编辑 EditText 时,我不能让它失去焦点。在 Windows Phone 中有 this.Focus();方法,但在 and
我正在开发一个应用程序,该应用程序可以更精确地控制拖动对象的放置位置。但是对于电容式触摸屏,用户的手指总是会遮住放置目标。 Android 允许通过覆盖 View.DragShadowBuilder.
我是一名优秀的程序员,十分优秀!