Для представления формы, когда клавиша Enter нажимается, создают функцию JavaScript вдоль этих строк.
function checkSubmit(e) {
if(e && e.keyCode == 13) {
document.forms[0].submit();
}
}
Тогда добавляют событие к любому объему, в котором Вы нуждаетесь, например, на теге Div:
<div onKeyPress="return checkSubmit(event)"/>
Это - также поведение по умолчанию Internet Explorer 7 так или иначе хотя (вероятно, более ранние версии также).
Прежде всего, похвалы при чтении Javascript: The Good Parts, это отличная книга по этому языку.
Чтобы ответить на ваш вопрос, требуется оператор new
, если вы хотите использовать прототипное наследование. Нет другого способа «унаследовать» объект от другого. При этом вы можете копировать свойства из одного объекта в другой, что в некоторых случаях устранит необходимость в операторе.
Например, классический подход будет использовать следующее:
function MyClass() {};
MyClass.prototype.sayHello = function() {
alert('hello');
};
var o = new MyClass();
o.sayHello();
Вы можете достичь примерно того же, что и следует:
function MyClass() {
return {
sayHello: function() {
alert('hello');
}
};
}
var o = MyClass();
o.sayHello();
Нет ничего плохого в операторе new
. Для меня Крокфорд неубедителен по этому поводу. Всякий раз, когда вы создаете объект, вы будете либо использовать new
где-нибудь в своем коде, либо использовать его неявно, создавая литералы (например, литералы объектов, такие как {a:
Вот отличная статья о реализации типичного объектно-ориентированного структурирования в prototype.js. Это было бы невозможно без оператора "new".
http://prototypejs.org/learn/class-inheritance
Я настоятельно рекомендую прочитать исходный код prototype.js. jQuery потрясающий и очень популярный, но некоторые вещи, которые были сделаны в прототипе, просто не имеют никакого сравнения ** где-либо еще, в частности, структура их классов.
** Некоторые люди могут возразить, что некоторые из того, что делает прототип, не должны ' нигде не найдешь - это другой вопрос. Но для полного понимания того, что возможно с javascript, лучше всего использовать прототип, IMHO.
Вы подняли книгу Крокфорда «JavaScript: хорошие части».
Новое - плохая часть. Страница 114. Не использую. (Ну, почти никогда.)
Крокфорд действительно использует его (в своем методе beget ()).
Определенно не надо ' Не используйте его, когда можете использовать что-то еще. Создавайте объекты и массивы с помощью литералов объектов и массивов.