我在悬停状态下动态创建元素时遇到问题.当我将鼠标悬停在新创建的html元素上时,它不起作用.
- <button id="create">create new button</button>
- <button class="hover">hover me</button>
- <div></div>
jQuery的:
- var createBtn = $("#create");
- createBtn.click(function() {
- $('div').append('<button class="hover">new hover button</button');
- return false;
- });
- $('.hover').hover(function() {
- alert('you hovered the button!');
- },function() {
- alert('you removed the hover from button!');
- });
我甚至试过这段代码:
- $('.hover').on({
- mouseenter : function() {
- alert('you hovered the button!');
- },mouseleave : function() {
- alert('you removed the hover from button!');
- }
- });
如图所示http://api.jquery.com/on/,但仍然没有运气.
这里也是演示:http://jsfiddle.net/BQ2FA/
解决方法
这不是正确的语法.
使用它来监听动态创建的“.hover”元素的事件:
- $(document).on('mouseenter','.hover',function(){
- alert('you hovered the button!');
- }).on('mouseleave',function() {
- alert('you removed the hover from button!');
- });