JQuery, как выбрать ни один? - PullRequest
       3

JQuery, как выбрать ни один?

0 голосов
/ 25 февраля 2011

У меня есть сайт с иконками. Каждый значок кликабелен.

Если щелкнуть значок, он будет выделен (с рамкой).

Как определить None для выбора? то есть, чтобы выбрать значок, я не хочу нажимать на пустое место ..

Подумайте о рабочем столе Windows, вы можете нажать на иконку, и она выбрана, и если вы нажмете на фон, все выделения исчезнут.

Я пытался выбрать тело $('body'), но оно перезаписывает функцию щелчка div и отменяет его ..

У кого-нибудь есть идея?

Спасибо

Ответы [ 3 ]

3 голосов
/ 25 февраля 2011

Отредактированный ниже код после перечитывания, как вы хотите:


Как-то так должно работать:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/themes/base/jquery-ui.css" />
<style>
#main { width: 130px; background:red; margin:20px;  }
        #main .icon { padding:10px; float:left; width:40px; }          
</style>
<div id="main">
        <div class="icon"><img src="/icons/accept.png"></div>
        <div class="icon"><img src="/icons/add.png"></div>
        <div class="icon"><img src="/icons/anchor.png"></div>
        <div class="icon"><img src="/icons/application_add.png"></div>
        <div class="icon"><img src="/icons/application_edit.png"></div>

    </div>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
        <script language="javascript">
        $('#main .icon img').click(function() {
            $(this).parent().css('background', '#ccc'); 
            return false;
        });
        $('#main').click(function() { 
            $('#main .icon').each(function() {
                $(this).css('background', '#fff');
            });

            return false;
        });

        </script>
0 голосов
/ 07 мая 2013

В случае, если кто-то попадет сюда по названию вопроса ... А вам просто нужен пустой объект jQuery, вот что вам нужно:

$() 

pre jQuery 1.4, это работает лучше всего:

$([])

Пустой селектор в Jquery

0 голосов
/ 25 февраля 2011

Это может быть то, что вам нужно, определите обработчик кликов в теле, до которого все клики будут пузыриться.

$('body').click(function(e) {
   if ($(e.target).hasClass('icon')) {
      //select icon
   }
   else {
      //clear selection
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...