jQuery点击事件添加class
jQuery a click event add class
在 <a>
元素的 .click
事件上我添加了一个 class my-selected-item
.
但是 class 只影响 .click
事件。我读到我可以使用函数 event.preventDefault
来处理这个问题。但这导致 <a>
元素不会触发 href=""
link.
$(document).ready(function () {
$("a.seaw-menu-item").click(function () {
$(this).addClass('my-selected-item');
});
});
看来我少了点什么。感谢您的帮助!
编辑://
用于菜单目的。
<div class="myMenu">
<a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
<a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
<a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>
我只能猜测,但我相信你想要这样的东西:
添加一个id="someContainer"的div,href中的页面内容(假设同源)将被加载到其中,class设置
使用您的HTML:
$(document).ready(function() {
$("a.seaw-menu-item").on("click", function(e) {
e.preventDefault();
$("a.seaw-menu-item").removeClass('my-selected-item'); // remove from all links
console.log("This would load:"+this.href+" into someContainer");
$("#someContainer").load(this.href); // load the page
$(this).addClass('my-selected-item'); // set the class on this link
});
});
a { text-decoration:none }
a.my-selected-item { text-decoration: underline }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myMenu">
<a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
<a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
<a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>
<div id="someContainer"></div>
你的问题不是很清楚,但这是你想要的吗?
$(document).ready(function () {
$("a").on("click", '*:not(a)', function() {
$(this).addClass('my-selected-item');
e.preventDefault();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="https://whosebug.com"> the link works </a>
在 <a>
元素的 .click
事件上我添加了一个 class my-selected-item
.
但是 class 只影响 .click
事件。我读到我可以使用函数 event.preventDefault
来处理这个问题。但这导致 <a>
元素不会触发 href=""
link.
$(document).ready(function () {
$("a.seaw-menu-item").click(function () {
$(this).addClass('my-selected-item');
});
});
看来我少了点什么。感谢您的帮助!
编辑://
用于菜单目的。
<div class="myMenu">
<a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
<a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
<a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>
我只能猜测,但我相信你想要这样的东西:
添加一个id="someContainer"的div,href中的页面内容(假设同源)将被加载到其中,class设置
使用您的HTML:
$(document).ready(function() {
$("a.seaw-menu-item").on("click", function(e) {
e.preventDefault();
$("a.seaw-menu-item").removeClass('my-selected-item'); // remove from all links
console.log("This would load:"+this.href+" into someContainer");
$("#someContainer").load(this.href); // load the page
$(this).addClass('my-selected-item'); // set the class on this link
});
});
a { text-decoration:none }
a.my-selected-item { text-decoration: underline }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myMenu">
<a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
<a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
<a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>
<div id="someContainer"></div>
你的问题不是很清楚,但这是你想要的吗?
$(document).ready(function () {
$("a").on("click", '*:not(a)', function() {
$(this).addClass('my-selected-item');
e.preventDefault();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="https://whosebug.com"> the link works </a>