대부분의 브라우저에서와 마찬가지로 <input type="submit">
은 [spacebar]와 [enter]를 클릭으로 처리하지만 <a>
링크는 [enter]를 클릭으로 처리합니다.jQuery - 스페이스 바를 사용하여 링크에서 클릭 이벤트를 트리거 하시겠습니까?
내 앱은 버튼을 시뮬레이션하기 위해 서식 지정된 여러 링크를 사용하므로 버튼으로 탭 이동하고 [스페이스 바]를 누르는 것에 익숙한 사용자는 좌절 할 것입니다. 이 작업을 수행하지 않는 이유가 있나요 :
$("a.Button").die("keypress").live("keypress", function(e) {
if (e.which == 32) {
$(this).trigger("click");
e.preventDefault();
}
});
내 질문 :
jQuery를이 비트는 문제를 해결? 브라우저의 기본 동작을이 기본 동작처럼 재정의하는 것을 꺼려하지만 링크 태그를 버튼처럼 보이게 만들었으므로 적어도 사용자의 기대를 위반하지는 않습니다. 더욱이.
FWIW 제한된 독자를 대상으로하는 앱입니다. Javascript는이를 사용하기위한 명시된 요구 사항입니다. 지도, 차트, 편집 가능한 그리드 및 기타 시각적 요소 및 대화 형 요소를 많이 사용하므로 화면 판독기를 통해 사용할 수 있도록하는 것이 가능하다는 것은 분명하지 않습니다. –
이것은 href가 'javascript : WebForm_DoPostBackWithOptions (새 WebForm_PostBackOptions ("ctl00 $ main $ uclFind $ uclEntry $ btnGet", "true," ") 요소가있는 ASP.NET 링크 버튼에는 작동하지 않습니다. "", 거짓, 참)) ' –