相关疑难解决方法(0)

jQuery:点击功能排除孩子.

试图绕过jQuery".not()"函数,并遇到问题.我希望父div可以"可点击"但如果用户点击子元素,则不会调用该脚本.

$(this).not(children()).click(function(){
   $(".example").fadeOut("fast");
});
Run Code Online (Sandbox Code Playgroud)

html:

<div class="example">
   <div>
      <p>This content is not affected by clicks.</p>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jquery

136
推荐指数
5
解决办法
11万
查看次数

在单击子元素时阻止触发其父级的单击事件

我有一个下面的菜单,可以深入到三个级别: Main > sub > subsub

<nav>
      <div class="mainMenu">Main Menu Item # 1.
                    <ul>
                        <li> Sub Menu Item # 1</li>
                        <li class="subMenu"> Sub Menu Item # 2
                            <ul>
                                <a href="New">
                                    <li>New</li>
                                </a>
                                <a href="">
                                    <li>Old</li>
                                </a>
                                <a href="">
                                    <li>View </li>
                                </a>
                            </ul>
                             <div class="n_r2_c2"></div>
                        </li>
                        <li> Sub Menu Item # 3</li>
                        <li> Sub Menu Item # 4</li>
                    </ul>
  </div>
Run Code Online (Sandbox Code Playgroud)

这是我的JQ:

$('.mainMenu').click(function () {
    $(this).children('ul').slideToggle(250);
});

$('.subMenu').click(function () {
        $(this).children('ul').slideToggle(250);
});
Run Code Online (Sandbox Code Playgroud)

问题是主菜单子菜单的子菜单切换工作正常,但当我点击子菜单中的项目而不是切换其子菜单时,它关闭自己,因为当我点击子菜单时,主菜单click事件也被解雇了可能是因为子菜单在它里面而且它点击主要div点击它?

无论如何我如何解决这个问题,请帮忙.

html javascript css jquery

10
推荐指数
1
解决办法
7700
查看次数

在单击事件中使用stopPropagation

我在div中有一个带有"元素"类的锚.

<div class="element logout">
    <div class="subTop">
        <a href="home.jsp" onclick="return confirm('Do you want to logout?');">Log Out</a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码来处理注销.

jQuery(".element").click(function(e){
    var tmpHref=jQuery(this).not('.logout').find(".subTop>a").attr('href');
    if(tmpHref!=undefined&&tmpHref!=""&&tmpHref!=null)
    {
        window.location.href=tmpHref;
    }
    else
    {
        jQuery(this).find(".subTop>a").click();
    }
});
Run Code Online (Sandbox Code Playgroud)

但我的问题是确认事件一次又一次地触发.我认为这是因为传播均匀.经过我的研究,我发现我可以e.stopPropagation()这篇文章中使用.但我无法弄清楚如何在这里使用它.

编辑 消息'您要退出吗?' 在确认框中是从数据库中动态获取的,所以我无法在代码中对其进行硬编码.

jquery events stoppropagation

7
推荐指数
1
解决办法
1325
查看次数

子元素在jquery中使用父元素注册click事件吗?

如果我有一个浮动消息框,我想知道是否在该框中单击段落文本也会在jQuery中注册点击它的父元素,或者如果我必须为子元素添加点击监听器.

更新:这是基本布局:

<div id='msgbox'>
<p>This is the <span>message</span></p>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,如果我单击<p>或在<span>遗嘱中的文本,它仍然会触发点击$('#msgbox')

更新2:我可以停止这种行为吗?

更新3:这是我要走的小提琴:http://jsfiddle.net/MZtbY/ - 现在是否有办法在达到一定水平后停止传播?所以点击它<p>会没问题,但点击它<span>会什么都不做? - 有点像$('#msgbox :nth-child').click(function(e) {e.stopPropagation();});

jquery

6
推荐指数
1
解决办法
3657
查看次数

jQuery防止在触发子事件时触发父事件

最近我有一些jQuery的问题.我只想说我有这样的元素:

<div id="parent1" class="parent">
    <div id="child1" class="children">
        <a href="" id="child_link1" class="child_link"></a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我有这样的jQuery函数:

$(".parent").click(function(){
    alert("parent is clicked");
});

$(".child_link").click(function(){
    alert("child link is clicked");
});
Run Code Online (Sandbox Code Playgroud)

如果我单击child_link,也会触发父级.如何创建一种情况,如果单击child_link,父级将不会被触发?

jquery element parent

5
推荐指数
1
解决办法
5681
查看次数

从事件侦听器OnClick中排除按钮

这里真的很简单的jquery问题,我还没有解决.我有以下的html表

<table id="table-1">
    <tr>
        <td>Value 1</td>
        <td>Value 2</td>
        <td>
            <button id="btn-1" value="Go"></button>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

单击表行时,我有以下事件侦听器

$("table-1 tr").on(
   'click',
    function(e){
       if(button was clicked){ 
           //do some stuff 
       } else {
           //do different stuff
       }
    }
);
Run Code Online (Sandbox Code Playgroud)

每当选择表格行时,我都希望触发此事件监听器,除非单击的项目是我的按钮.我一直在尝试使用:not.not(),但没有运气.有任何想法吗?

html javascript jquery

5
推荐指数
1
解决办法
1005
查看次数

防止"冒泡"?

我不确定这真的是冒泡,我会解释.

我有这个:

<div>
  <div>
    text here
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何绑定一个on click事件,以便它只影响所包含的div?如果我这样设置:

jQuery('div').bind('click', function() {
  jQuery(this).css('background','blue');
});
Run Code Online (Sandbox Code Playgroud)

它使蓝色所有的div.如果我将false作为第三个参数(防止冒泡)添加到绑定函数,它什么都不做.

我该怎么解决这个问题?

javascript jquery

4
推荐指数
1
解决办法
5034
查看次数

嵌套html元素中的onClick事件

我有这样的结构:

<tr>
 <td onClick="doSomeStuff();">
  <a href="#" onClick="doOtherStuff(1);">1</a>
  <a href="#" onClick="doOtherStuff(2);">1</a>
 </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我的问题是doSomeStuff()总是执行,无论我点击一个<a href>元素.

我怎么解决这个问题?

html javascript

3
推荐指数
2
解决办法
6049
查看次数

亲子事件

我有一个2 div元素.一个是孩子,一个是父母喜欢:

<div id="p">
  <div id="c">
  </div>
</div> 
Run Code Online (Sandbox Code Playgroud)

parentdiv有2事件连接clickdblclick子女div有附加1个事件click.现在我的问题是当我点击child div父div点击事件时也执行了.我试过e.stopPropagation();但仍然是同样的行为.帮我 ?

javascript jquery

2
推荐指数
1
解决办法
1211
查看次数

单击子项时会触发Jquery Parent Class事件

嗨我有孩子ul和父李,这是jquery的目标,它在其中点击事件切换"显示"类.我面临的问题是,由于某些原因,当我点击子ul li元素时,它也会触发该事件.怎么预防?

这是我的代码.

<script>
    $(document).ready(function() {
        $('.dropdown').click(function(e) {
            e.stopPropagation();
            $(this).toggleClass('shown');
            e.preventDefault();
        })
    })
</script>


<li class="dropdown"><a title="Installation" href="#">Installation <span class="caret"></span></a>
    <ul role="menu" class="dropdown-menu">
        <li>
            <a title="Wood Floor Installation" href="">Wood Floor Installation</a></li>
        <li>
            <a title="Sub Floor Preparation" href="">Sub Floor Preparation</a></li>
        <li>
            <a title="Type of your subfloor" href="">Type of your subfloor</a></li>
        <li>
            <a title="Wood Floor Fitting Method" href="">Wood Floor Fitting Method</a>
        </li>
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

2
推荐指数
1
解决办法
1272
查看次数

发生一个事件时停止其他事件

每个元素都绑定了几个事件.有时,父元素和子元素都包含点击事件!如果我点击子元素,父元素也会被触发.如何使用jquery防止这些事件被触发!

javascript jquery

1
推荐指数
1
解决办法
82
查看次数

在主div上点击更改整页的背景颜色

我尝试更改整个页面的背景颜色,点击我的div与id main.这是我的代码:

$(document).ready(function() {
    var color = 1;
			
	$('#main').click(function()	{
        if (color == 1)	{
		    $(this).css("background-color", "green");
			color = 2;
		} else if (color == 2) {
			$(this).css("background-color", "black");
			color = 1;	
		}					
	});
});
Run Code Online (Sandbox Code Playgroud)
#admin_div {
    position: absolute;
	width: 80%;
	height: 80%;
	border: 2px solid white;
	border-radius: 10px;
	background-color: #D9D9D9;
	z-index: 1;
}    		
h1 { 
    margin-left: 15px; 
}    		
#main {
	height: 100%;
	width: 100%;
	z-index: 0;
}
Run Code Online (Sandbox Code Playgroud)
 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<div id="main">
    <div id="admin_div">		
		<h1>Admin …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

0
推荐指数
1
解决办法
943
查看次数

标签 统计

jquery ×11

javascript ×8

html ×4

css ×2

element ×1

events ×1

parent ×1

stoppropagation ×1