美好的一天......
我有多个链接如下:
<li><a href="#" id="mmSaveForm" class="itemDisabled noTxtSelect1">Save</a></li>
<li><a href="#" id="mmSaveAs" class="itemDisabled noTxtSelect1">Save As</a></li>
<li><a href="#" id="mmSaveExit" class="itemDisabled noTxtSelect1">Save And Exit</a></li>
我想知道点击了哪个链接 我试过这样的事情:
if ($("#mmSaveForm").click() == "true") {
//do something
}
else if ($("mmSaveAs").click() == "true") {
//Do something
}
else if ($("#mmSaveExit").click() == "true") {
//Do something
}
我试过这些链接,问题&amp;答案,但他们没有帮助:
How can I get the button that caused the submit from the form submit event?
jQuery: how to get which button was clicked upon form submission?
how to detect which button is clicked using jQuery
jQuery - how to determine which link was clicked
我整晚都在尝试这个,请帮忙...... 先谢谢你...
答案 0 :(得分:4)
为什么不要定位课程,抓住id
然后使用切换语句。
$('.itemDisabled').on('click', function () {
var id = this.id;
switch(id) {
case 'mmSaveForm':
// code
break;
case 'mmSaveAs':
// code
break;
case 'mmSaveExit':
// code
break;
}
});
答案 1 :(得分:2)
尝试使用.is(selector)
标识已点击的元素
$('a.noTxtSelect1').click(function(e){
e.preventDefault();
if($(this).is("#mmSaveForm")){
} else if($(this).is("#mmSaveAs")) {
} else if($(this).is("#mmSaveExit")) {
}
});
答案 2 :(得分:1)
如果您的链接具有id
属性,则所有属性均以&#39; mm&#39;开头。你可以使用:
$('a[id^=mm]').on('click', function(){
console.log(this.id);
});
或者在一个或多个班级上:
$('a.itemDisabled').on('click', function(){
-OR -
$('a.itemDisabled.noTxtSelect1').on('click', function(){
在点击事件中,您可以使用开关确定点击的链接,您可以使用this
或$(this)
e.g:
$('a[id^=mm]').on('click', function () {
switch (this.id) {
case "mmSaveForm":
alert(this.id);
break;
case "mmSaveAs":
alert(this.id);
break;
case "mmSaveExit":
alert(this.id);
break;
}
});
答案 3 :(得分:0)
像clickDisabled这样的公共类用于click事件并获取id,
$(".itemDisabled").click(function (e) {
e.preventDefault();
var id = this.id;
if (id === "mmSaveForm") {
} else if (id === "mmSaveExit") {
} else {}
});
答案 4 :(得分:0)
您可以使用[attr^="value"]
[“以”开头“]选择器:
$('[id^="mmSave"]').click(function(event){
event.preventDefault();
var action = this.id;
// do your business
});
答案 5 :(得分:0)
你正在以错误的方式思考这个问题。在你的
$(document).ready(function() {})
您注册点击活动。像
这样的东西$(document).ready(function() {
$("#mmSaveForm").click(function() {
// handle the click
});
});
答案 6 :(得分:0)
可能你可以试试这个
$(function(){
$('.linkclass').click(function(){
var link_text = $(this).text();
alert('the clicked link text is '+ link_text);
});
});
答案 7 :(得分:0)
不需要jquery请查看此代码
<!DOCTYPE html >
<html >
<head>
<script>
function clickbtn(t)
{
alert(t.id);
/*if(t.id==...)
{
dosomething();
}
else
{
dootherthing();
}
*/
}
</script>
</head>
<ul>
<li><a href="#" onclick="clickbtn(this)" id="mmSaveForm" class="itemDisabled noTxtSelect1">Save</a></li>
<li><a href="#" onclick="clickbtn(this)" id="mmSaveAs" class="itemDisabled noTxtSelect1">Save As</a></li>
<li><a href="#" onclick="clickbtn(this)" id="mmSaveExit" class="itemDisabled noTxtSelect1">Save And Exit</a></li>
</ul>
<body>
</body>
</html>
工作正常。 希望这有帮助!
答案 8 :(得分:0)
这是我的html页面(Django模板):
<div class="col">
{% for blog in blogs %}
<div class="post">
<h3><a href="{% url 'blog:detail' pk=blog.pk %}">{{ blog.title }}</a></h3>
<div class="date">
<p>Created: {{blog.date_created|date:'d M Y'}}</p>
</div>
<p>{{ blog.brief|safe }}</p>
<ul class="nav justify-content-end">
<li class="nav-item">
<a class="nav-link active" href="{% url 'blog:edit' pk=blog.pk %}">Edit</a>
</li>
<li class="nav-item">
<a class="nav-link" id="publish" href="{{blog.pk}}">Publish</a>
</li>
<li class="nav-item">
<a class="btn btn-danger" id="remove" href="{{blog.pk}}">Remove</a>
</li>
</ul>
<br>
</div>
{% endfor %}
</div>
在我的javascript文件中,这就是具有的并且有效的。
$(document).ready(function() {
console.log("document is ready!!!")
$('#id_bloglist').on("click", 'a#publish,a#remove', function(e) {
e.preventDefault()
var pk = $(this).attr("href")
if ($(this)[0].id == 'remove'){
console.log("remove link clicked, calling deleteBlog with pk = " + pk)
}
else if ($(this)[0].id == 'publish'){
console.log("publish link clicked, calling publishBlog with pk = " + pk)
}
return false;
});
});