•  
  • Archives for JavaScript (2)

Перехват нажатия Enter на текстовом поле

Categories: JavaScript
Comments: No Comments
Published on: 22.11.2011

Для перехвата нажатой клавиши используется переопределение события onkeypress (возварщает true — если событие должно обрабатываться дальше при bubling, false — прерывает дальнейшее выполнение ), которое возникает в браузере при нажатии любой клавиши на клавиатуре. Пример использования:

function customOnKeyPress(evt) {
    var evt = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type=="text"))  {
        return false;
    }
}
var newObjectNameField = document.getElementById('textField');
newObjectNameField.onkeypress = customOnKeyPress;

node.type=="text" — указывает, что привязываем только к текстовому полю

jQuery.data() — для чего?

Часто при описании различных триков и способов работы с jQuery не описывают одну очень полезную вещь этой библиотеки, как-то опускают незаслуженно её описание, а именно метод data().
Данный метод черезвычайно полезен для хранения переменных и объектов с привязкой на элемент страницы. Этот метод позволяет избежать циклических зависимостей при которых получаются утечки памяти (Memory Leaks).
Как использовать метод:

jQuery.data( элемент, ключ, значение );
jQuery.data( элемент, ключ );
jQuery.data( элемент);

В качестве значения можно без особых передать JSON объект.
Пример использования скрипта:

/* Initialize code */
jQuery.data( "#input_login", "loginUser", { name: "John", surname: "Adams", year: 1986 } );

/* Get variables from our code */
var _getName = jQuery.data( "#input_login", "loginUser").name; // _getName = "John";
var _getSurname =  jQuery.data( "#input_login", "loginUser").surname; // _getSurname = "Adams";
var _getYear =  jQuery.data( "#input_login", "loginUser").year; // _getYear = 1986;

jQuery.data(".classExit", "exitUserId", 245);
var _getId = jQuery.data(".classExit","exitUserId"); // _getId = 245;

Вот в принципе и всё описание того, как нужно использовать данную функцию, если что-то не ясно — спрашивайте в комментариях.

page 1 of 1
EnglishFrenchGermanItalianPortugueseRussianSpanish

Welcome , today is Четверг, 23.02.2012