JQuery проверить, если он нажал или нет

$( element ).click( function() {

});

Как я могу проверить, щелкнул ли элемент или нет? Я так делаю

function element() {
    $( "#element" ).click( function() {
        return 0;
    } );
}
if( element() == 0 ) {
    alert( "yes" );
} else {
    alert( "no" );
}

Но это ничего не возвращает.

Ответы

Ответ 1

Вы можете использовать .data():

$("#element").click(function(){
    $(this).data('clicked', true);
});

а затем проверьте его:

if($('#element').data('clicked')) {
    alert('yes');
}

Чтобы получить лучший ответ, вам нужно предоставить дополнительную информацию.

Update:

Основываясь на вашем комментарии, я понимаю, что вы хотите что-то вроде:

$("#element").click(function(){
    var $this = $(this);
    if($this.data('clicked')) {
        func(some, other, parameters);
    }
    else {
        $this.data('clicked', true);
        func(some, parameter);
    }
});

Ответ 2

Используя jQuery, я бы предложил более короткое решение.

var elementClicked;
$("element").click(function(){
   elementClicked = true;
});
if( elementClicked != true ) {
    alert("element not clicked");
}else{
    alert("element clicked");
}

( "элемент" здесь должен быть заменен фактическим тегом имени)

Ответ 3

<script>
    var listh = document.getElementById( 'list-home-list' );
    var hb = document.getElementsByTagName('hb');
    $("#list-home-list").click(function(){
    $(this).style.color = '#2C2E33';
    hb.style.color = 'white';
    });
</script>

Ответ 4

    <script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
var val;
        $(document).ready(function () {
            $("#click").click(function () {
                val = 1;
                get();
                });
                });
          function get(){
            if (val == 1){
                alert(val);
                }

          }
</script>
    <table>
    <tr><td id='click'>ravi</td></tr>
    </table>

Ответ 5

Хорошо, прежде чем я войду в решение, давайте поговорим об одном факте: Javascript - это событие. Поэтому вам обычно нужно настраивать обратные вызовы, чтобы выполнять процедуры.

Основываясь на вашем комментарии, я предположил, что у вас есть триггер, который будет выполнять логику запуска этой функции в зависимости от щелчка элемента; ради демонстрации я сделал его "кнопкой отправки"; но это может быть таймер или что-то еще.

var the_action = function(type) {
    switch(type) {
        case 'a':
            console.log('Case A');
            break;
         case 'b':
            console.log('Case B');
            break;
    }
};

$('.clickme').click(function() { 
    console.log('Clicked');
    $(this).data('clicked', true);
});

$('.submit').click(function() {
    // All your logic can go here if you want.
    if($('.clickme').data('clicked') == true) {
        the_action('a');
    } else {
        the_action('b');
    }
});

Live Пример: http://jsfiddle.net/kuroir/6MCVJ/