Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2014, 08:12
Аспирант
Отправить личное сообщение для And5 Посмотреть профиль Найти все сообщения от And5
 
Регистрация: 01.09.2013
Сообщений: 40

вынести событие в функцию
всем доброго времени суток.
имеется:
<input class="os" type="text" name="ops" id="opt-qty-338" value="0" oninput="
                   $('#option-value-338').val( 338 + '|' + Number($(this).attr('value')) );
                   $('#option-value-338').attr('price', Number($(this).attr('price')) * Number($(this).attr('value')) );
                   calc_opt_313();
                " size="4" price="6.1000" style="width: 40px;" os="os1">

нужно вынести действие по событию в функцию. Делаю так:
<input class="os" type="text" name="ops" id="opt-qty-338" value="0" oninput="opt_338();"           
               size="4" price="6.1000" style="width: 40px;" os="os1">
				<script type="text/javascript">
				<!--

			function opt_338(){
					$('#option-value-338').val( 338 + '|' + Number($(this).attr('value')) );
                   $('#option-value-338').attr('price', Number($(this).attr('price')) * Number($(this).attr('value')) );
				   calc_opt_313();
        }	
				//-->
				</script>

Не работает. Не пойму отчего.
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2014, 11:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

В первом случае this ссылается на текущий элемент(input), во втором на гобальный объект(window).
Решить можно например так:
oninput="opt_338.call(this);"
Почитать про this - тут.
__________________
29375, 35

Последний раз редактировалось Aetae, 18.05.2014 в 11:24.
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2014, 15:08
Аспирант
Отправить личное сообщение для And5 Посмотреть профиль Найти все сообщения от And5
 
Регистрация: 01.09.2013
Сообщений: 40

да, заработало. Но вся эта процедура была затеяна с целью вызвать эту функцию с дочерней страницы
window.opener.opt_338.call(this);

там такая конструкция не работает
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2014, 19:07
Аспирант
Отправить личное сообщение для And5 Посмотреть профиль Найти все сообщения от And5
 
Регистрация: 01.09.2013
Сообщений: 40

да, спасибо. разобрался
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Повесить функцию на событие при помощи javascript фонарик Общие вопросы Javascript 2 23.02.2013 22:50
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
Помогите вынести обработчик события в функцию. prowoke Events/DOM/Window 3 25.03.2011 00:55