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, время: 09:16. |