如何在jQuery中执行click()

时间:2015-02-26 04:46:10

标签: javascript jquery html web

此代码基本上采用“textmoney”并计算出一个人一年的收入。要执行此功能,您必须按Enter键。我还有一个名为'moneydiv'的div,它将执行相同的功能,但似乎我在同一个脚本中都有两个功能都不会起作用。我将如何编写代码以使用户能够同时执行这两项功能?我如何用div编码click()?

Jquery的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
    $(document).ready(function() {

    var $demo = $('#demo');
    var $textMoney = $('#textmoney');
    var $moneydiv = $('#moneydiv');

    .keydown(function(e) {
         if (e.keyCode === 13) {
            var money = $(this).val();
            if (isNaN(money) || money === '') {
                $demo.text('You aint enter no $$$$$$');
            } 
            else {
                var dailyE = $(this).val() / 365;
                $demo.text('$' + dailyE + ' per day');
                 }
            } 
           else if ($(this).val() === '') {
            $demo.text('');
            }
           }).mouseover(function() {
           $(this).css('border', '1px solid black');
           }).mouseout(function() {
           $(this).css('border', '1px solid grey');
        });

  });
    </script>

3 个答案:

答案 0 :(得分:1)

如果您想使用点击功能

$("#id").click(function () {
 // your code here
})

我建议您访问Jquery API了解详情。

希望得到这个帮助。

答案 1 :(得分:0)

如果moneydiv和textmoney需要执行相同的功能。然后我建议你这样做。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>

$(document).ready(function() {

    var $demo = $('#demo');
    var $textMoney = $('#textmoney');
    var $moneydiv = $('#moneydiv');

    function todo(){
        var money = $textMoney.val();
            if (isNaN(money) || money === '') {
                $demo.text('You aint enter no $$$$$$');
            } else {
                var dailyE = $textMoney.val() / 365;
                $demo.text('$' + dailyE + ' per day');
            }
    }

    // on enter key
    $textMoney.keydown(function(e) {
        if (e.which === 13) {
            todo();
        } else if ($(this).val() === '') {
            $demo.text('');
        }
    }).mouseover(function() {
        $(this).css('border', '1px solid black');
    }).mouseout(function() {
        $(this).css('border', '1px solid grey');
    });

    // on click 
    $moneydiv.click(function(){    
        todo();
    });

});
</script>

希望它有所帮助。

答案 2 :(得分:0)

我想你要发布&#34; textmoney&#34;的新闻事件。当你点击&#34; moneydiv&#34;你可以这样做。

  1. 注册&#34; textmoney&#34;。
  2. 的新闻事件
    $('#textmoney').keydown(function(e) {
      if (e.keyCode === 13) {
        var money = $(this).val();
        if (isNaN(money) || money === '') {
          $demo.text('You aint enter no $$$$$$');
        } else {
          var dailyE = $(this).val() / 365;
          $demo.text('$' + dailyE + ' per day');
        }
      } else if ($(this).val() === '') {
        $demo.text('');
      }
    }).mouseover(function() {
      $(this).css('border', '1px solid black');
    }).mouseout(function() {
      $(this).css('border', '1px solid grey');
    });
    
    1. 然后点击moneydiv时触发按键事件。
    2. var keyPressEvent = $.Event('keypress');
      keyPressEvent.keyCode = 13;
      $('#moneydiv').trigger(keyPressEvent);
      

      然而,另一个简单的实现是您可以将逻辑提取到函数中并将函数绑定到click和keypress事件。

      希望能帮到你!