Ham*_*ebi 4 html javascript jquery
简而言之,我将一个本地HTML页面加载到div
asp.net中的内部其他Web表单中.
JQuery的:
<script>
$(function () {
$("#includedContent").load("../HtmlHolder/index.html");
});
</script>
Run Code Online (Sandbox Code Playgroud)
HTML:
<div id="includedContent" class="WebHolder" style="width: 450px; height: 300px; border: 1px solid #808080; margin: 0px auto; overflow-y: scroll;"></div>
Run Code Online (Sandbox Code Playgroud)
现在我想通过下面的脚本点击它们来获取元素的类名:
<script>
$(document).ready(function () {
$('.WebHolder').on("click", "*", function (e) {
alert("Class :" + $(this).attr("class"));
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我点击任何元素时,此代码会提醒此类名称并且它是父级!
怎么解决?
注意:元素不是特定对象,可能是输入或按钮或textarea或....
您应该使用e.target
(使用此作为选择器)this
(因为它是父项)
alert("Class :" + $(e.target).attr("class"));
要避免对父级执行操作:您可以比较this
并e.target
验证它是否为父级.
if( this !== e.target )
演示代码:
$('div').on('click', function(e){
if( this !== e.target ) alert( 'Class is '+ $(e.target).attr('class') );
});
Run Code Online (Sandbox Code Playgroud)
div{
background: #fe7a15;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
I am the parent, Clicking me will not get you an alert but headers does, because they are my children.
<br /><br />
<h1 class="class-header-child-one">Header 1</h1>
<h2 class="class-header-child-two">Header 2</h2>
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
912 次 |
最近记录: |