我调用一个悬停函数来显示一个对话框作为工具提示,而单击函数则显示一个带有额外类的相同对话框 在悬停时隐藏。
它工作一次,但第二次没有反映对话框。它会阻挡悬停。
如何分隔Mouseover和Click事件?
var clicked = false
$("izzy").observe('mouseover', function() {
if(!clicked) {
$('izzy').setStyle({ color: '#FFFFFF' });
}
});
$("izzy").observe('mouseout', function() {
if(!clicked) {
$('izzy').setStyle({ color: '#666666' });
}
});
$("izzy").observe('click', function() {
clicked = true
$('izzy').setStyle({ color: '#cccccc' });
});
答案 0 :(得分:0)
if(!clicked) {
设置为clicked
后,true
阻止内的代码永远不会被执行。 clicked
上的true
设置为click
,因此clicked
设置为true
后callback function
为mouseover
& ; mouseout
听众不会做任何事情。按照上面的代码。
以下代码应足以满足您的预期行为。
$("izzy").observe('mouseover', function() {
$('izzy').setStyle({ color: '#FFFFFF' });
});
$("izzy").observe('mouseout', function() {
$('izzy').setStyle({ color: '#666666' });
});
$("izzy").observe('click', function() {
$('izzy').setStyle({ color: '#cccccc' });
});
mouseover
color
将设置为#fff
click
color
将设置为#ccc
mouseout
发生后,颜色会重置为#666
mouseover
color
将再次设置为#fff