我坚持使用html / JS并且不知道我应该如何处理某些事件。 例如,我有一个列表组:
<div class="col-lg-3 col-md-3 col-sm-3 opciones">
<div class="list-group">
<a href="#" class="list-group-item active">
Tokyo
</a> // barfoobarfoo
<a href="#" class="list-group-item">London</a> // foo
<a href="#" class="list-group-item">Paris</a> // bar
<a href="#" class="list-group-item">Moscow</a> // foobar
<a href="#" class="list-group-item">NY</a> //foobarfoo
</div>
</div>
我想做的是:
1)点击时更改活动元素。
2)单击元素时调用JS函数。 UPD: 所以现在我知道点击事件可以用JQuery来处理。
我无法理解的是如何确定单击哪个元素。例如JQuery:
$('.list-group-item').on('click', function() {
$this = $(this);
$('.active').removeClass('active');
$this.toggleClass('active')
function simpleFunc(someargument) { //value of this argument depends on clicked item and can be (foo|bar|foobar ) etc
document.write(someargument) // here whould be written some text (foo|bar|foobar ) etc
})
除了此HTML代码之外,没有任何教程或任何内容。 感谢
答案 0 :(得分:3)
你可以简单地使用jQuery。
例如:
String
Alias将被捕获:
$('.list-group-item').on('click', function() {
var $this = $(this);
var $alias = $this.data('alias');
$('.active').removeClass('active');
$this.toggleClass('active')
// Pass clicked link element to another function
myfunction($this, $alias)
})
function myfunction($this, $alias) {
console.log($this.text()); // Will log Paris | France | etc...
console.log($alias); // Will output whatever is in data-alias=""
}
答案 1 :(得分:2)
这是动态jQuery代码
$(document).ready(function() {
$(".list-group-item").live('click', function(){
$('.active').removeClass('active');
$(this).addClass('active');
console.log($(this).html());
// Code here whatever you want or you can call other function here
});
});
这会对你有所帮助。享受!
答案 2 :(得分:0)
您可以尝试这样的事情:
function notify(el) {
resetElements();
console.log(el.innerHTML);
el.classList.add('active');
}
function resetElements() {
// Get all elements with "active" class
var els = document.getElementsByClassName("active");
// Loop over Elements to remove active class;
for (var i = 0; i < els.length; i++) {
els[i].classList.remove('active')
}
}
&#13;
.active {
font-weight: bold;
}
&#13;
<div class="col-lg-3 col-md-3 col-sm-3 opciones">
<div class="list-group">
<a href="#" onclick="notify(this)" class="list-group-item active">
Tokyo
</a>
<a href="#" onclick="notify(this)" class="list-group-item">London</a>
<a href="#" onclick="notify(this)" class="list-group-item">Paris</a>
<a href="#" onclick="notify(this)" class="list-group-item">Moscow</a>
<a href="#" onclick="notify(this)" class="list-group-item">NY</a>
</div>
</div>
&#13;