【发布时间】:2011-07-29 17:23:13
【问题描述】:
我有一个打印图标(图像),单击它时会调用window.print();。但是,我也有一个针对同一个打印图标的悬停事件,它会更改图像 src(渐变效果)。
代码:
$( "#print_icon" ).hover(
//mouseover
function(){
$( this ).attr( "src", "http://example.com/images/image1.png" );
},
//mouseout
function(){
$( this ).attr( "src", "http://example.com/images/image2.png" );
});
// print onclick//
$( "#print_icon" ).click(function() {
window.print();
});
问题:
无需点击,悬停即可按预期工作。当有人单击图像时,会出现打印窗口,但“mouseout”功能在打印窗口关闭之前不会运行。我想更改此行为,以便即使打印窗口处于活动状态或显示,mouseout 功能也会运行。
这可能吗?
更新
仍然无法按预期工作:
$( "#print_icon" ).hover(
//mouseover
function(){
$( this ).attr( "src", "http://library.weill.cornell.edu/prc/images/print_icon_onclick.png" );
$( this ).click(function() {
window.print();
});
},
//mouseout
function(){
$( this ).attr( "src", "http://library.weill.cornell.edu/prc/images/print_icon.png" );
});
【问题讨论】:
-
您是否尝试将点击事件附加到第一个悬停函数中的 $(this) ?可能不行……
-
这个不行,还多次调用打印窗口。我不确定我写的是否完全符合您的想法(请参阅“更新”下的代码)。
标签: jquery printing window click hover