Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2013, 15:24
Аватар для slavonbl
Интересующийся
Отправить личное сообщение для slavonbl Посмотреть профиль Найти все сообщения от slavonbl
 
Регистрация: 09.07.2008
Сообщений: 10

div.click() и input
Подскажите как сделать
вот HTML
<div class="size-box-item false-size">38<input type="number" class="hidden" value="0"></div>

вот JS
$(document).ready(function(){
    $(".size-box-item.true-size").click(function(){
        obj = $(this).children();
        if (obj.get(0).value > 0) {
            obj.get(0).value = 0;           
            obj.addClass("hidden");
        }
        else{
            obj.get(0).value = 1;           
            obj.removeClass("hidden");
        }
    });                                         
});

По нажатию на div в нем появляется input type="number", по еще нажатию исчезает. Проблема в том что при использовании input type=number срабатывает событие click, как сделать что бы при изменение значения input описанное выше событие не срабатывало.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2013, 16:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

slavonbl,
Вариант ...
$(document).ready(function(){
   $(".size-box-item").click(function(){
        obj = $(this).children();
        if (obj.get(0).value > 0) {
            obj.get(0).value = 0;
            obj.addClass("hidden");
        }
        else{
            obj.get(0).value = 1;
            obj.removeClass("hidden");
        }
    });
       $(".size-box-item input[type='number']").click(function(event){
  event.stopPropagation();
})
});
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2013, 17:20
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

расширю чуть ответ рони

stopPropagation() –Останавливает поток событий по дереву элементов, после того как сработали слушатели события для данного элемента

Функции и свойства объекта Event ('Pro jQuery' на smarly.net)
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2013, 17:52
Аватар для slavonbl
Интересующийся
Отправить личное сообщение для slavonbl Посмотреть профиль Найти все сообщения от slavonbl
 
Регистрация: 09.07.2008
Сообщений: 10

Точно.....!!! Спасибо...
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2013, 18:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script src="http://code.jquery.com/jquery-latest.js"></script>


<div class="size-box-item false-size">38<input type="number" class="hidden" value="0"> Тут один клик по div или два</div>

<script>
$(document).ready(function(){
        function Mytoggle(){
        obj = $(".size-box-item").find("input");
        var val =1*(Math.abs(obj.val())==0);
        if(!val)obj.addClass("hidden");
        if(val)obj.removeClass("hidden");
        obj.val(val)
        }
    var timerId
    $(".size-box-item").click(function(){
         clearTimeout(timerId);//alert()
         timerId=setTimeout(function (){Mytoggle()},100);
    });
    $(".size-box-item input").click(function(){
        setTimeout(function (){clearTimeout(timerId)},20);
    });        
});
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55