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/