javascript - onclick 监听器不适用于动态 dom 内容

标签 javascript jquery

使用 jquery 处理多个事件,我需要添加元素,但在该元素上不会触发单击事件。我也尝试在就绪函数中添加监听器,但它不起作用。请大家帮忙。

 $(document).ready(function(){
   $('#button').click(function(){
       var toAdd = $('input[name=checkListItem]').val();
       $('div.list').append('<div class="item-next">' + toAdd + '</div>')

   });
 
});

 $('.item-next').click(function(){
      alert()

   });
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<!DOCTYPE html>
<html>
    <head>
    	<title>Find Listeners</title>
        <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
        <script type="text/javascript" src="script.js"></script>
	</head>
	<body>
		<h2>Find Listeners</h2>
		<form name="checkListForm">
			<input type="text" name="checkListItem"/>
		</form>
		<button id="button">Click to Add</button>
		<br/><br/><br/>
      List
		<div class="list"></div>
	</body>
</html>

最佳答案

附加事件元素不适用于正常点击。因此请尝试使用 on()kindly see the important of that

 $(document).on()

学习on()很有帮助 Why use jQuery on() instead of click()

$(document).ready(function(){
   $('#button').click(function(){
       var toAdd = $('input[name=checkListItem]').val();
       $('div.list').append('<div class="item-next">' + toAdd + '</div>')

   });
 
});

 $(document).on('click','.item-next',function(){
      alert('its work')

   });
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<!DOCTYPE html>
<html>
    <head>
    	<title>Find Listeners</title>
        <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
        <script type="text/javascript" src="script.js"></script>
	</head>
	<body>
		<h2>Find Listeners</h2>
		<form name="checkListForm">
			<input type="text" name="checkListItem"/>
		</form>
		<button id="button">Click to Add</button>
		<br/><br/><br/>
      List
		<div class="list"></div>
	</body>
</html>

关于javascript - onclick 监听器不适用于动态 dom 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41072732/

相关文章:

javascript - 如何删除使用按钮创建的内容

javascript - 使用 Mongoose 更新 Node.js 中 find() 方法返回的结果

javascript - JavaScript 中的箭头函数返回的对象是否需要括号?

javascript - JS点击两次后不显示文字

jquery - 在页面转换期间从 Jquery Mobile 中删除滚动条

javascript - 检查参数是否为字符串

JavaScript 对象未定义

javascript - 在 Javascript 中计算 RGB 色 block 平均值的更有效方法

javascript - TypeError : $(. ..).modal 不是我的脚本中的函数

javascript - JQuery .hasClass 用于 if 语句中的多个值