The problem now is that on ipad the hover states now display (which is great), but the second click is being ignored and does nothing.
查看實時本站
e.preventDefault();
您阻止默認行爲,這樣的點擊/觸摸將永遠無法跟隨鏈接。嘗試像這樣
$(document).ready(function() {
$('.my_button').bind('touchstart touchend', function(e) {
if($(this).hasClass('hover_effect') {
return; // skip rest of code, so default will happen
// which is following the link
}
e.preventDefault();
$(this).addClass('hover_effect'); // no reason to toggleClass
// cause the seccond click/touch should always go to destination
});
});
現在可能是你想要它的是,如果你需要刪除hover_effect
到不同的$('.my_button')
點擊/觸摸所有其他my_button(s)
所以加
$('.my_button').not(this).removeClass('hover_effect');
像這樣
$(document).ready(function() {
$('.my_button').bind('touchstart touchend', function(e) {
$('.my_button').not(this).removeClass('hover_effect');
if($(this).hasClass('hover_effect') {
return; // skip rest of code
}
e.preventDefault();
$(this).addClass('hover_effect'); // no reason to toggleClass
// cause the seccond click/touch should always go to destination
});
});
我還沒有嘗試過代碼,但它應該可以工作。讓我知道如果它不。
謝謝你們的迴應,但遺憾的是它沒有工作。 您的解決方案似乎將按鈕的行爲恢復爲原始問題:它會在第一次單擊時激活超鏈接。沒有顯示懸停狀態。 – shanDB
@shanDB好吧,那麼請同時分享您的HTML和CSS – caramba
錯誤:'{ 「消息」:「Uncaught SyntaxError:Unexpected token {」, 「filename」:「http://stacksnippets.net/js」, 「lineno」:15, 「colno」:47 } –