вынести событие в функцию
всем доброго времени суток.
имеется: <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> Не работает. Не пойму отчего. |
В первом случае this ссылается на текущий элемент(input), во втором на гобальный объект(window).
Решить можно например так: oninput="opt_338.call(this);"Почитать про this - тут. |
да, заработало. Но вся эта процедура была затеяна с целью вызвать эту функцию с дочерней страницы
window.opener.opt_338.call(this); там такая конструкция не работает |
да, спасибо. разобрался
|
Часовой пояс GMT +3, время: 23:29. |