求教。用jQuery给按钮添加disabled属性,该按钮变灰后,点击该按钮仍能触发事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教。用jQuery给按钮添加disabled属性,该按钮变灰后,点击该按钮仍能触发事件相关的知识,希望对你有一定的参考价值。
按钮禁用后,是不会再次触发事件的。分析应该是事件冒泡造成的·· 查看下父元素有无click事件!
可以使用 e.stopPropagation(); 来组织事件冒泡·
加油··追问
感谢回答,原因就是因为父元素有click事件了?那么如何阻止。e.stopPropagation()加在何处。是是该按钮的click事件中,还是别的地方?
追答加在该按钮的click事件中,最后一行····
参考技术A 冒泡咯,你可以在后面加个return false215 jQuery 属性操作
jQuery 常用属性操作有三种:prop() 、 attr() 、 data() 。
1.1.1 元素固有属性值 prop()
所谓元素固有属性就是元素本身自带的属性,比如 元素里面的 href ,比如 元素里面的 type。
注意:prop() 除了普通属性操作,更适合操作表单属性:disabled / checked / selected 等。
语法
1.1.2 元素自定义属性值 attr()
用户自己给元素添加的属性,我们称为自定义属性。 比如给 div 添加 index =“1”。
语法
注意:attr() 除了普通属性操作,更适合操作自定义属性。(该方法也可以获取 H5 自定义属性)
1.1.3 数据缓存 data()
data() 方法可以在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存放的数据都将被移除。
语法
注意:同时,还可以读取 HTML5 自定义属性 data-index ,得到的是数字型。
演示代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="jquery.min.js"></script>
</head>
<body>
<a href="https://www.baidu.cn" title="都挺好">都挺好</a>
<input type="checkbox" name="" id="" checked>
<div index="1" data-index="2">我是div</div>
<span>123</span>
<script>
$(function() {
// 补充:attr()是万能的, 一样可以获取、设置属性值
console.log($(\'a\').attr(\'href\')); // https://www.baidu.cn
$(\'a\').attr(\'title\', \'哈哈\');
//1. element.prop("属性名") 获取元素固有的属性值
console.log($("a").prop("href"));
$("a").prop("title", "我们都挺好");
$("input").change(function() {
console.log($(this).prop("checked"));
});
// console.log($("div").prop("index"));
// 2. 元素的自定义属性 我们通过 attr()
console.log($("div").attr("index"));
$("div").attr("index", 4);
console.log($("div").attr("data-index"));
// 3. 数据缓存 data() 这个里面的数据是存放在元素的内存里面
$("span").data("uname", "andy");
console.log($("span").data("uname"));
// 这个方法获取data-index h5自定义属性 第一个 不用写data- 而且返回的是数字型
console.log($("div").data("index"));
})
</script>
</body>
</html>
以上是关于求教。用jQuery给按钮添加disabled属性,该按钮变灰后,点击该按钮仍能触发事件的主要内容,如果未能解决你的问题,请参考以下文章