事件监听器不起作用。它说事件没有在控制台中定义

时间:2014-07-29 17:11:30

标签: javascript jquery html

我是jquery / javascript的新手

我尝试在html中使用事件监听器

以下是演示: http://jsbin.com/ximezaqe/1/edit

单击该链接应触发警报。但事实并非如此。 我检查了控制台,它说:

菜单未定义。 (菜单是事件监听器中的事件)

我想我错过了一些东西。我从其他地方复制了代码,但似乎没有用。

HTML

<li>
  <a href="javascript:menu()" >
   <i class="glyphicon glyphicon-flag has-icon"></i> a link
  </a>
</li>

的Javascript

$(document).ready(function() {
  function trigger() {
   window.alert('Hello!');   
  }

  function menu() {
   setTimeout('trigger()', 2000);
  } 
});

2 个答案:

答案 0 :(得分:2)

试试这个

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<li>
    <a class="clickable" href="#" >
       <i class="glyphicon glyphicon-flag has-icon"></i> a link
    </a>
</li>
<script>

$(document).ready(function() {

    function menu() {
        setTimeout(trigger, 2000);
    }
    function trigger() {
       window.alert('Hello!');   
    }

    $('.clickable').on('click',function(){
        menu();     
        return false;
    });
});
</script>

答案 1 :(得分:0)

应该是

<li><a href="javascript:;" onlick="javascript:menu();" >
<i class="glyphicon glyphicon-flag has-icon"></i> a link
                      </a>
                </li>

,您的菜单功能必须落在

之外
$(document).ready({});

喜欢这个

$(document).ready(function (){
//
});
function menu(){
//Do your stuff
}