사용자가 마우스를 사용하거나 Enter 키를 눌러 항목을 선택하기 전에 SELECT 요소의 변경 사항을 추적하는 방법은 무엇입니까?SELECT onChange 이벤트
키보드를 사용하여 목록을 탐색하는 사용자를 추적 할 수있는 keyUp 이벤트를 수신 할 수 있습니다. 그러나 더 일반적인 접근법이 있는데, 이것은 "prefinal"목록의 추적을 허용합니까?
사용자가 마우스를 사용하거나 Enter 키를 눌러 항목을 선택하기 전에 SELECT 요소의 변경 사항을 추적하는 방법은 무엇입니까?SELECT onChange 이벤트
키보드를 사용하여 목록을 탐색하는 사용자를 추적 할 수있는 keyUp 이벤트를 수신 할 수 있습니다. 그러나 더 일반적인 접근법이 있는데, 이것은 "prefinal"목록의 추적을 허용합니까?
자바 스크립트는 'onbeforechange'이벤트를 지원합니다.이 이벤트는 아마도 트릭을 수행 할 수 있지만, 브라우저 전반에서 얼마나 광범위하게 구현되었는지는 알 수 없습니까? 충분히 넓게 지원된다면 이전 값을 변경하기 전에 저장하십시오. 실패하면 숨겨진 필드 나 JS 변수에 원래 값을 저장하십시오.
참조가 필요합니다. Opera, IE, Chrome, Safari, Firefox는이 이벤트를 지원하지 않습니다 ... –
IE (최소 8+ 이상)가 지원하지만, IE 환경에서는 사용하지 않았습니다. 따라서 광범위하게 구현할 필요는 없습니다. . – Purpletoucan
IE6-9, FF 11, Chrome 17, Opera 11.61, Safari 5.1.2에서 이것을 테스트했지만, 거기에'onbeforechange' 이벤트는 존재하지 않습니다 ** (테스트 된'.onbeforechange = ..','addEventListener '및'.attachEvent'). –
선택 항목 위로 마우스를 움직일 때 발생하는 이벤트가 없습니다.
당신이 말한 것처럼 마우스 움직임을 추적 할 수 있습니다. 그러나 다른 브라우저가 목록을 다르게 렌더링하므로 이는 어려운 작업입니다.
는하지만 기본은
를 선택 사용하지 않고 선택 박스를 직접 만들 수 있습니다이 예제와 같이 함수를 작성해야한다 : -
function example(){
jQuery('select#service_billing_state').change(function() {
//your code here
});
}
을 당신이에 onblur, onchange를이 함수를 호출해야 onkey, onfocus ...
나는 항상 이것을 위해 focus click
청취자를 사용합니다.
$('select').bind('focus click',function(){
//IMACHANGINGMYOPTION!!!!!!!!!!
//var val=$(this).val();
});
은 위의 변화에 대한 이벤트 전에 트리거해야합니다
$('select').change(function(){
//The option has been changed.
});
설명 : 사용자가 선택 초점을 맞추고 때마다, 우리는 선택한 항목의 값을받을 수 있나요, 우리는 전에 조작 할 수 있습니다 onchange
이벤트가 발생합니다. click
청취자는 select가 이미 집중된 경우에 추가되며 사용자 은 실제로 옵션을 선택하고 변경을 트리거하기 전에을 클릭하여 확장합니다. 페이지를 다시로드 할 때까지
당신은 존재하는 자바 스크립트 변수 로컬에서 이전 값을 저장할 수 있습니다 :
이
는 우리가 이전 값을 추적 할 수 있습니다 사용의 예입니다. – slash197