如何在jquery中使用关键字on
how to use the keyword on in jquery
我有以下html
<li class = "item" data-id="0">Test<p>Test</p></li>
li不会自动添加到页面中。它是使用ajax生成的。当有人点击一个li时,我如何激发点击事件?我明白我必须使用"on"关键字。我试过了,但没有用。如何使用on关键字来更改li中最近的p的值?
这是我的
$(document).on("click", ".item", function(e){
var target = e.target;
console.log(target);
var id = $(e).dataset.id;
console.log(id);
var mark = $(e).closest('p');
IssueViewer.showItem(id, mark);
});
在点击处理程序中,使用$(this).find('p')
来瞄准p
元素,使用$(this).data('id')
来点击li
的data-id:
$(document).on("click", ".item", function() {
var id= $(this).data('id');
$(this).find('p').text('Changed: '+id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="item" data-id="0">Test<p>Test</p></li>
</ul>
你可以试试这个。我在里面用注释包含了解释:
$(document).ready(function(){ /* PREPARE THE SCRIPT */
$(".item").click(function(){ /* WHEN AN LI WITH A CLASS OF ITEM IS CLICKED */
var elem = $(this); /* THE CLICKED ELEMENT */
var etarget = elem.target; /* GET THE HTML ELEMENT */
console.log(etarget); /* PRINT TO THE CONSOLE THE ELEMENT THAT WAS CLICKED */
var id = elem.attr("data-id"); /* GET THE ID OF THE CLICKED LI */
console.log(id); /* PRINT TO THE CONSOLE THE ID OF THE CLICK LI */
elem.find("p").html(id); /* CHANGE THE CONTENT OF THE P CHILD */
});
});
你也可以检查这个JSFiddle
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用“;这个“;JavaScript原型方法中的关键字
- delete关键字在全局变量上的不同行为
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- window.on.scroll事件未启动
- JavaScript 中的嵌套函数和 “this” 关键字
- Socket.io on Mozilla Rhino
- CSS中的游标属性似乎不适用于USB On The Go
- jQuery点击ON现在使用.load触发关闭
- JQuery.on(“keydown”)追加到页面时不工作
- 使用.on动态添加jquery/js不知道的html元素
- angularjs$valid-on-dates在firefox中报告错误
- addEventListener on NodeList
- 如何在不使用 new 关键字的情况下从函数创建对象
- Angularjs使用“;这个“;promise内的关键字回调
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 选择使用“;这个“;关键字使用document.on(.)-Jquery
- Angular $on函数使用这个关键字
- 如何在jquery中使用关键字on
- setTimeout函数中的关键字,该函数嵌套在on()方法下.但这并没有奏效