2011-06-11 66 views
2

我有以下的代碼,今天早些時候向我建議:在另一篇文章我怎麼能在視覺上模擬一個按鈕被點擊使用jQuery

$(window).keypress(function (e) 
{ 
    if (e.keyCode == 13) 
    { 
     $('#doCheck').focus().click(); 
    } 
}); 

一位網友說,這將使一個按鈕似乎動畫和點擊。當我嘗試它時確實有一些效果,但至少在Firefox中它仍然不會讓按鈕看起來好像被點擊一樣。有沒有人能夠讓按鈕看起來像用jQuery進行物理單擊?

+0

你是不是想使它看起來像它被點擊,而不用戶實際上點擊它,或者只是讓一個按鈕看起來像「點擊」,當用戶確實點擊它時? – kinakuta 2011-06-11 17:26:27

回答

2

在執行時,你就需要切換類,使按鈕按下的樣子,那麼你就需要給setInterval幾毫秒觸發一次更改類回常規尋找按鈕。

+0

我可以輕鬆地更改類作爲有媒體和竣工之間的一些服務器調用。服務器通話可能需要1/2秒。我的問題是如何改變班級,讓它看起來像一個真正的按鈕按下。我猜每個瀏覽器都不一樣,我想要一種適合所有人的方式。 – 2011-06-11 17:44:32

1

只是改變邊界...一個未點擊的按鈕一般具有突出邊框,當你點擊它,它變成插圖這樣:

$(window).keydown(function (e) 
{ 
    if (e.keyCode == 13) 
    { 
     $('#doCheck').css({borderStyle:'inset'}); 
    } 
}); 
$(window).keyup(function (e) 
{ 
    if (e.keyCode == 13) 
    { 
     $('#doCheck').css({borderStyle:'outset'}); 
     $('#doCheck').focus().click(); 
    } 
}); 
+0

我試過,但至少在Firefox的按鈕看起來並不帶有邊框風格開始是相同的。這是方形,失去了它的所有字符:-( – 2011-06-11 17:55:03

+0

的問題是,當你開始改變輸入按鈕的默認樣式被丟棄的風格,最好的辦法是創建自己的CSS規則的按鈕。這將讓你保證他們在所有瀏覽器中看起來都一樣,然後你可以用相同的鍵入/放下方法來切換這個類 – Trey 2011-06-11 19:25:40

相關問題