- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 javascript 与 CMS 交互,CMS 为用户提供了一个按钮,可以将东西添加到他们的购物篮中。但是,我正在使用 javascript 来尝试阻止客户这样做,除非他们从页面其他位置的下拉菜单中进行了选择。
因为有许多不同的按钮可能会让他们进入篮子(包括下面的示例)并且所有这些按钮都有不同的方法,而不是编写多行代码来阻止每个方法然后重新启用做出选择时的那个方法我正在尝试做一种“包罗万象”的修复,我只是用另一个 div 覆盖任何这样的按钮/链接,以便有效地“屏蔽”它下面的按钮,直到他们做出决定。
我首先尝试使用绝对定位的 div 来执行此操作,直到用户执行类似调整页面上文本框大小的操作后,我的绝对定位 div 突然出现在错误的位置!
所以我现在使用 JQuery 的 .wrap() 很好地解决了这个问题..但是..现在我不能使用 z-index 将 div 定位在所需按钮上方,因为这些按钮位于掩码内而不是下方它!
我已经阅读了很多关于事件冒泡的资料,但我不确定我是否还没有找到正确的信息,或者我理解正确,或者事件冒泡可能导致我走上了错误的道路,因为我似乎无法接受这些概念并将它们应用于这种情况。
所以.....
给定以下 HTML 结构:
<div class="btnMask">
<div class="button">
<a onclick="pageSubmit();return false;" href="#" id="addToBasket">
<span>Add to Basket</span>
</a>
</div>
</div>
加上以下 JQuery:
$('.btnMask').click(function() {
// prevent default actions and alert the customer to select something;
});
单击 .btnMask div 时如何停止触发标记?和(如果那个答案不能使我的另一个问题的答案显而易见......)我将如何打开和关闭它? (我有一个检查下拉 onchange 并将 z-index 设置为 99/-99 的函数,所以我想更改它以合并这个新方法。)
预先感谢您的帮助。
<<编辑>>
使用最初的答案,我设法解决了使用常规 href 将您带离页面的链接问题。
所以我现在已经修复了 HTML 如下所示的链接:
<div class="btnMask">
<div class="button">
<a id="nextPage" href="/link/toanotherpage.asp?id=667868465726122926234">
<span>Click to go to Page 2</span>
</a>
</div>
</div>
但是,就像我说的那样,有许多方法可以用来将人们从页面和 e.preventDefault(); 和 e.stopPropagation(); 中带走不适用于我的原始示例(大概是因为他们使用的是 onclick 而不是 href ?)。
有没有办法做与 e.preventDefault(); 和 e.stopPropagation(); 在我的 .btnMask div 上做的相同的事情,但也会处理由 onclick 触发的包含链接?
谢谢
<<编辑>>
更新了问题标题以反射(reflect)确切的问题,而不仅仅是常规链接上的事件冒泡。
最佳答案
如果你想防止事件冒泡并取消默认操作,那么你可以从事件处理程序返回 false
。
$('.btnMask').click(function() {
return false;
});
或者使用preventDefault和 stopPropagation
$('.btnMask').click(function(e) {
e.preventDefault();
e.stopPropagation();
});
关于javascript - 防止事件冒泡(针对 javascript onclick 事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876628/
这里有这样的问题,但我尝试了解决方案,但在我的情况下这不起作用。我有一个通过单击打开的表单,然后必须通过单击此表单内的 x 将其关闭。 This variant不适合,因为 cookie 在关闭表单后
我有以下代码: function sdefaults() { alert("test"); } var btnpos, sbtn; btnpos = document.getElementsBy
我正在学习 javascript 和 php。我创建了一个联系表单,我希望按下提交按钮时可以完成两件事: 将数据提交给我(这部分正在运行) 阅读我的 onclick 函数(这部分不起作用) 我正在
我的页面有多个div元素,有显示切换功能。 onclick = "document.getElementById('light').style.display='block';document.ge
为什么不同? document.getElementById('click').onclick = a.replaceChild(c,b) --- 在我不点击按钮的情况下替换元素 但 onclick=
我以为在javascript中绑定(bind)点击事件是通过node.onclick来完成的,Chrome/Firefox似乎也同意我的看法,但我看到它写成.onClick here 3个人4次,所以
基本上,我想创建一个侧边栏,其中会有很多联系人。每个联系人都会出现在一个列表中。列表中有两个 onclick 函数。列表中两个 onclick 函数是:第一次点击-点击列表后它应该打开另一个侧边栏(我
我是 Javascript 的新手,尤其是在 JSON 和 Jquery 上。我已经成功实现了 FullCalendar 的月 View ,但是无论如何要根据用户单击月 View 的日期来显示或弹出日
给定一些简单的 HTML,例如,其中一个元素具有 onclick 函数,并且它的子元素也具有 onclick 函数: 正确的方法是什么,以便当用户单击子元素时,仅执行子元素的 oncli
我有一个功能,当您单击一个按钮时,TinyMCE 框内的选定文本被包装在 span 中标签。 这是这样做的: var apolo = '' + sel + ''; tinyMCE.activeEdit
我尝试使用 JavaScript 将 onclick 事件替换为其他 onclick 事件: 旧 onClick 事件: $('#myButton').click(function(){ a
我正在尝试删除一个函数中的事件监听器,该函数与 onclick 调用的函数相同。 下面的例子说明了我的问题。我尝试使用这种构造的原因是将函数传递给 View 对象,以便它可以将其作为 onclick
这是一个相当简单的可访问性问题。 假设我们有一个切换链接/按钮,单击该链接/按钮即可切换移动菜单。对于这样的按钮,哪种格式更易于访问? 我们总共有 4 个选项,用 分隔 button标签与 a标签,
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How to make onclick automatically through onload function
我需要能够改变一个 id 的 onclick 事件,这样一旦它被点击,一旦它执行一个改变 onclick 事件的函数 这是我的代码:Javascript: function showSearchBar
有谁知道如何将 onClick 分配给执行一个操作的对象,然后当用户点击同一对象时,该操作被反转? $('#image').click(function() { $('#foo').css({
我重写了 onClick(View) 方法,以便在单击时 View 大小会发生变化。View 是一个显示浏览器网页的 webView。我需要点击会改变大小,而且浏览器会响应(转到被点击的链接)。在目前
我有这个 HTML 代码: APPLY JS: $('#changeType').click(function(){ $('#discountCode').attr('type','pass
我想用 onclick 创建一个函数,如果我按下 div 就会显示内容。如果我点击该内容,它会给我“开始”表单。 让我向您展示代码: HTML: click Javascript: var div =
我编写了一个函数,用于使用超链接的占位符打开/关闭 div。 Open 然后 onclick 事件打开 div。 我有这个onclick来关闭它: Close 我想要做的是为在两个 onclick 事
我是一名优秀的程序员,十分优秀!