jquery检查它是否被点击

时间:2011-05-21 12:08:26

标签: jquery

$(element).click(function(){

});

如何检查元素是否被点击?我这样做

function element(){
$("#element").click(function(){
  return 0;
});

}
if(element()==0){
alert("yes");
}else{
alert("no");
}

但它没有返回任何东西。

6 个答案:

答案 0 :(得分:55)

您可以使用.data()

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

然后检查:

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

要获得更好的答案,您需要提供更多信息。

<强>更新

根据您的评论,我了解您需要的内容如下:

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

答案 1 :(得分:4)

使用jQuery,我建议使用更短的解决方案。

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

(&#34;元素&#34;这里将替换为实际的名称标签)

答案 2 :(得分: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>

答案 3 :(得分:1)

这是我尝试过的,对我来说效果很好

$('.mybutton').on('click', function() {
       if (!$(this).data('clicked')) {
           //do your stuff here if the button is not clicked
           $(this).data('clicked', true);
       } else {
           //do your stuff here if the button is clicked
           $(this).data('clicked', false);
       }

   });

有关更多参考,请检查此链接 JQuery toggle click

答案 4 :(得分:0)

    <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 :(得分:0)

好吧,在我进入解决方案之前,让我们就这一事实站在同一条线上: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');
    }
});

直播示例:http://jsfiddle.net/kuroir/6MCVJ/