onchange, не теряя фокус?

Soundex довольно примитивен - он был первоначально разработан, чтобы быть вычисленной рукой. Это приводит к ключу, который может быть сравнен.

Soundex работает хорошо с западными именами, поскольку он был первоначально разработан для американских данных переписи. Это предназначается для фонетического сравнения.

расстояние Левенштейна смотрит на два значения и производит значение на основе их подобия. Это ищет пропавших без вести или буквы, которыми заменяют.

В основном Soundex лучше для нахождения, что "Schmidt" и "Smith" могли бы быть той же фамилией.

расстояние Левенштейна лучше для определения, что пользователь ввел "Levnshtein" с опечаткой;-)

12
задан tpk 2 September 2009 в 15:42
поделиться

1 ответ

Эта статья может вам помочь. Он использует такие приемы:

// executes an onchange function after 750ms (or specified delay)
function safeOnChange1( code, delay ) {
  delay = delay || 750;
  window.clearTimeout( soc_id );
  soc_id = window.setTimeout( code, delay );
} 
// global timer ID for the safeOnChange1 function.
var soc_id = null;

Это некрасиво, но в этом проблема с использованием функции onchange в раскрывающемся списке. Другое решение - функция, время от времени проверяющая значение раскрывающегося списка и вызывающая функцию onchange, если оно изменилось.

Посмотрите учебные пособия, подобные этому: http://onlinetools.org/articles/unobtrusivejavascript /chapter4.html

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}
addEvent(window, 'load', foo);
addEvent(window, 'load', bar);

Есть также способ jquery, если вы можете его найти

1
ответ дан 2 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: