
[英]Manually trigger click event on other DOM element in knockout viewmodel page
[英]Trigger click event on DOM element
我试图在选定的DOM元素上触发click事件,但是我的代码无法正常工作。
您可以看到我对JSFiddle的尝试。
<ul class="list-group">
<a href="#" class="list-group-item" data-key="32">LG GOLA 8M</a>
<a href="#" class="list-group-item" data-key="33">LG 5-6M</a>
<a href="#" class="list-group-item" data-key="34">LP 5-6M</a>
</ul>
$(document).ready(function() {
// I get the string tr from URL parameters
var tr = "fix_LG%20GOLA%208M";
if (tr !== null) {
var terminrahmen = $('.list-group-item').filter(function() {
return $(this).text() === decodeURI(tr).substring(4);
});
// Trigger click event on .list-group-item
terminrahmen.click();
}
// The function to be executed
$('.list-group-item').click(function() {
alert($(this).text());
});
});
加载DOM时,我从URL参数中收集了一些数据,并将数据与DOM元素进行了比较。 这部分工作正常。
之后,我得到一个元素,我想触发一个click事件。 click事件应“执行”指定的功能。
有谁对我有一个好的解决方案? 提前致谢。
问题在于您在将事件处理程序附加到它之前触发了click事件。 因此,您只需要在触发点击之前移动点击处理程序,一切便会按预期工作:
$(document).ready(function() {
// The function to be executed
$('.list-group-item').click(function() {
alert($(this).text());
});
// I get the string tr from URL parameters
var tr = "fix_LG%20GOLA%208M";
if (tr !== null) {
var terminrahmen = $('.list-group-item').filter(function() {
return $(this).text() === decodeURI(tr).substring(4);
});
// Trigger click event on .list-group-item
terminrahmen.click();
}
});
将click事件放在ready事件的顶部。.click事件需要在注册事件后触发。 以前没有发生
$(document).ready(function() {
// The function to be executed
$('.list-group-item').click(function() {
alert($(this).text());
});
// I get the string tr from URL parameters
var tr = "fix_LG%20GOLA%208M";
if (tr !== null) {
var terminrahmen = $('.list-group-item').filter(function() {
return $(this).text() === decodeURI(tr).substring(4);
});
// Trigger click event on .list-group-item
terminrahmen.click();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.