Jquery 更改按住按钮上的光标?
所以我想把光标从Jquery 更改按住按钮上的光标?,jquery,html,Jquery,Html,所以我想把光标从 #sideBar ul li .template{ cursor:pointer; } 移动光标;当用户拖动时…我是否可以在jQuery或html中使用某些东西来实现此操作?按住鼠标按钮可以尝试使用jQuery将css更改绑定到事件。然后在用户完成拖动后,使用mouseup()将光标更改回原来的位置 e、 g: 试着这样做: someFunc({ onstart: function(){ $(document.body).css( 'cursor', 'mov
#sideBar ul li .template{
cursor:pointer;
}
移动光标;当用户拖动时…我是否可以在jQuery或html中使用某些东西来实现此操作?按住鼠标按钮可以尝试使用jQuery将css更改绑定到事件。然后在用户完成拖动后,使用mouseup()将光标更改回原来的位置 e、 g:
试着这样做:
someFunc({
onstart: function(){
$(document.body).css( 'cursor', 'move' );
},
onstop: function(){
$(document.body).css( 'cursor', 'auto' );
}
});
其中,拖动开始时必须触发onstart
,拖动结束时必须触发onstop
如果要创建自定义拖动功能,可以使用
mousedown
和mouseup
事件:
$(el)
.mousedown(function(){
$(this).css( 'cursor', 'move' );
})
.mouseup(function(){
$(this).css( 'cursor', 'auto' );
});
当然,你绝对可以做到。Jquery函数可以设置为处理程序,那么您只需要更改css。这里有一个
不要更改javascript代码中的css,而是只更改一个类,这将使用您想要的不同内容更新您的元素。我添加了一个:hover伪类,因为我不确定没有它,
cursor
是否可以工作
此外,live适用于将来添加的任何元素,而bind不适用
Css:
Javascript:
$("#sideBar ul li .template").live("mousedown", function () {
$(this).addClass("mouseDown");
}).live("mouseup", function () {
$(this).removeClass("mouseDown");
});
我不会重复其他人发布的基本相同的代码,但不应该仅仅在mousedown事件上触发适当的拖动 在mousedown上,您应该标记可能的拖动,并保存发生mousedown的鼠标坐标,然后附加mousemove处理程序。(这样,当您只在拖动过程中对鼠标移动真正感兴趣时,就不会一直跟踪鼠标移动) 只有当保存的mousedown坐标和当前鼠标坐标之间的距离大于某个增量时,mousemove处理程序才应更改被拖动元素的CSS类。这样可以防止每次短暂/意外的单击看起来都像拖动 最后,在拖放时(mouseup),然后根据需要处理拖放事件,并清除可能的拖动标志和保存的mousedown坐标
观察一个操作系统桌面,点击并按住图标,不移动,然后开始移动——你会看到这个轮廓就是它的行为方式。只需添加到找到它的图标中即可。从jQuery 1.7开始,现在对.live()方法进行了去润滑处理。你可以在它的地方使用这个方法。
$('.someElement').mousedown(function()
{
$(this).css('cursor', 'move');
});
$('.someElement').mouseup(function()
{
$(this).css('cursor', 'pointer');
});
#sideBar ul li .template{
cursor:pointer;
}
#sideBar ul li .template.mouseDown:hover{
cursor:auto; /* or whatever cursor */
}
$("#sideBar ul li .template").live("mousedown", function () {
$(this).addClass("mouseDown");
}).live("mouseup", function () {
$(this).removeClass("mouseDown");
});