javascript код убирает фокус с текстового поля
следующий код постоянно вызывается на странице для ИЕ -
if(document.selection && document.selection.empty) { document.selection.empty (); } И для остальных браузеров else if(window.getSelection () && window.getSelection ().removeAllRanges) { window.getSelection ().removeAllRanges(); } Из за этого кода убирается фокус с текстового поля. скажите пожалуйста что нужно сделать чтобы этот код не влиял на текстовое поле с определенным id или на все текстовые поля??? Частично самому получилось сделать. Но мой способ начинает через пару кликов тормозить поэтому не подходит, а в ие совсем коряво работает. Мой способ ниже(на jquery) - if(document.selection && document.selection.empty) { var elq = document.getElementById('inputdiagonal'); var diagonalfocus_ = $j("#diagonalfocus").html(); if(!diagonalfocus_) { document.selection.empty (); } $j("#inputdiagonal").click(function(){ var elq = document.getElementById('inputdiagonal'); $j("#diagonalfocus").html('diagonal_focus'); setTimeout(function() {document.getElementById('inputdiagonal').focus(); $j("#inputdiagonal").blur(function(){ var elq = document.getElementById('inputdiagonal'); $j("#diagonalfocus").empty(); }); }, 100); $j("#inputdiagonal").blur(function(){ var elq = document.getElementById('inputdiagonal'); $j("#diagonalfocus").empty(); }); }); $j("#inputdiagonal2").click(function(){ var elq = document.getElementById('inputdiagonal2'); $j("#diagonalfocus").html('diagonal_focus'); setTimeout(function() {document.getElementById('inputdiagonal2').focus(); $j("#inputdiagonal2").blur(function(){ var elq = document.getElementById('inputdiagonal2'); $j("#diagonalfocus").empty(); }) }, 100); $j("#inputdiagonal2").blur(function(){ var elq = document.getElementById('inputdiagonal2'); $j("#diagonalfocus").empty(); }); }); } else if(window.getSelection () && window.getSelection ().removeAllRanges) { var diagonalfocus_ = $j("#diagonalfocus").html(); if(!diagonalfocus_) { window.getSelection ().removeAllRanges(); } $j("#inputdiagonal").click(function(){ var elq = document.getElementById('inputdiagonal'); $j("#diagonalfocus").html('diagonal_focus'); document.getElementById('inputdiagonal').focus(); $j("#inputdiagonal").blur(function(){ $j("#diagonalfocus").empty(); }); }); $j("#inputdiagonal2").click(function(){ var elq = document.getElementById('inputdiagonal2'); $j("#diagonalfocus").html('diagonal_focus'); document.getElementById('inputdiagonal2').focus(); $j("#inputdiagonal2").blur(function(){ $j("#diagonalfocus").empty(); }); }); } |
а для чего тебе постоянно вызывать верхний код??
для предотвращения выделения текста на странице??? если так то я делаю вот это я вешаю на определенные элементы где я не хочу чтобы происходило выделение обработчик onmousemove="checkSelection()" function checkSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) document.selection.clear(); } а содержимое текстовых полей и всего где нет этого обработчика можно будет выделять или для чего??? просто немного непонятный вопрос :) |
Часовой пояс GMT +3, время: 08:18. |