2011-09-10 169 views
6

我已經對JSFIDDLE
UPDATEthis version作品演示在FF但不是鍍鉻..
更新2website似乎有一個有效的解決方案。如何讓鼠標光標在鼠標上抓取?

我的JavaScript如下

$("#click").live({ 
    mousedown: function() { 
      this.addClass("closed"); 
     }, 
    mouseup: function() { 
      this.removeClass("closed"); 
     } 
}); 

和CSS是如下

.closed { 
    cursor: url(https://mail.google.com/mail/images/2/closedhand.cur), default !important; 
} 

但是,爲什麼不將光標成爲一個封閉的手放在鼠標按下這個jQuery代碼? 非常感謝! 任何幫助,將不勝感激!

+0

我已經更新的問題,並演示表明了jQuery JavaScript的不工作。 – Mohammad

+1

一些瀏覽器現在支持這個:'cursor:-webkit-grabbing;光標:-moz-grabbing;'。 –

回答

3

2016更新:

需要做這一個jQuery插件,滑塊我的工作。我所做的是在CSS中定義遊標,然後使用jQuery在觸摸/鼠標事件中添加/刪除它們。

CSS:

.element:hover{ 
    cursor: move; 
    cursor: -webkit-grab; 
    cursor: grab; 
} 
.element.grabbing { 
    cursor: grabbing; 
    cursor: -webkit-grabbing; 
} 

JS:

$(".element").on("mousedown touchstart", function(e) { 
    $(this).addClass('grabbing') 
}) 

$(".element").on("mouseup touchend", function(e) { 
    $(this).removeClass('grabbing') 
}) 
+1

當我問這個問題時,這不會奏效,我很高興它現在可以工作! – Mohammad

1

這工作(在FF至少):http://jsfiddle.net/uZ377/21/

我改變了活的結合,不知道爲什麼,但現場沒有工作。另外,我在jQuery函數中包裝了this

0

實際上看起來像綁定mousedown和mouseup事件的活動方法存在問題。通過分離這兩個元素,它似乎工作正常。

無論如何,遊標屬性的URL部分在所有瀏覽器中都不受支持。以Chrome和Firefox爲例,它對我有用,但不適用於Opera,因爲據我所知它不支持它。

+0

不,它不好。 「Uncaught TypeError:Object# has no method'split'」 – genesis

+0

在JSFIDDLE示例中,我提供了其他兩個div作爲示例以顯示該類提供了自定義遊標功能。這在我的瀏覽器「chrome」中起作用。謝謝! – Mohammad

+0

@genesis:對,沒有注意到,因爲無論如何,在Chrome和FF中,雙手都可以正常工作。 –

0

您使用的語法直到1.4.3(documented here)才引入,您的jsFiddle使用1.4.2。你的jsFiddle也增加了一個類到this,而不是$(this)

但我也不確定光標CSS如何反應mousedown和mouseup - 我有一種感覺可能在某些瀏覽器中受到限制,有一些小竅門讓它在mouseup上工作,但不是mousedown - 看起來好像奇怪。

+0

我只是覺得很奇怪,一個簡單的鼠標放下或鼠標放置類事件可以是如此的錯誤。 – Mohammad

1
$(document).ready(function() { 
    $(".surface").mouseup(function(){ 
     $(".surface").css("cursor","crosshair"); 
     }).mousedown(function(){ 
     $(".surface").css("cursor","wait"); 
     }); 
}); 

在CSS .surface{cursor:crosshair;} make如果你想有鼠標下降/上升只是改變光標手向上/向下圖標。 希望這有助於。

3

你可以只用CSS讓鼠標光標搶:

/* Standard cursors */  
.element { cursor: grab; } 
.element:active { cursor: grabbing; } 

/* Custom cursors */ 
.element { cursor: url('open-hand.png'), auto; } 
.element:active { cursor: url('closed-hand.png'), auto; }