jQuery 触发元素的事件
jQuery trigger an element's event
我的问题和这个一样
我也遇到了同样的问题,href
没有为事件"点击"触发.然后我改为alt
,元素span
.这是我的代码
<li><h2><span id='aa' alt="#inbox"><span>Inbox</span></span></h2></li>
这条线是我ul
的第二个孩子。我想在加载页面时触发/单击此行。
但是我想知道如何触发此跨度(#aa)单击事件。尝试以下代码,但不起作用。
第一次尝试:
var href = $('#aa').attr('alt');
window.location.href =href; // this gave me 404 error
第二次尝试:
$('#aa').trigger("click") // this has no change
单击上述 li>span 时将执行编辑函数。我希望在页面加载时自动单击li的跨度。这个问题的答案说了使用<a href>
时的一些问题。因此,我改用span
标签。 我使用 jQuery 1.6
您的第一次尝试给了您 404,因为您尝试将 URL 更改为 #inbox
。我假设您实际上想将哈希附加到当前 URL,在这种情况下,您可以使用 location.hash
属性:
window.location.hash = href;
我认为您可能还想使用 a
元素而不是 span
,因为这样默认情况下它会有这种行为,您不必绑定点击事件来处理它。
编辑 :您指向的另一件事是 url 适用于A
标签而不是Span
标签,Jquery 如何在 href 元素上触发点击事件,这是针对您在问题中提到的标签。
如果您正在触发点击事件,则存在问题,则应将点击事件与 span 绑定,而不是使用触发函数来触发它
写入点击事件
$('#aa').click( function()
{
alert('span clicked');
});
触发事件比
$('#aa').trigger("click");
如果我理解正确,这将解决您的问题;
像这样提供可点击的跨度。
$('#aa')
.bind('click', function () {
.....
});
并在 document.ready 中这样称呼它
$('#Control_2').click();
我认为最简单的解决方案是将您的跨度更改为锚标签以处理加载后的任何点击,如果您只想将哈希标签添加到当前 url。然后,您只需使用一些jquery来选择页面加载时所需的链接即可。
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
window.location.hash = $('#second').attr('href');
});
</script>
</head>
<body>
<ul>
<li><a href="#first">First</a></li>
<li><a href="#second" id="second">Second</a></li>
</ul>
</body>
</html>
如果这不是您想要的,并且您想在单击时运行更多代码,那么您可以将单击逻辑分离到一个函数中,并在页面加载时调用它,如下所示:
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
//your function that does stuff on click
function doStuff(item) {
window.location.hash = $(item).attr('href');
//cancel the click
return false;
}
//call the function on page load
doStuff($('#second'));
//call the function on click
$('#nav a').click(function() { doStuff(this); });
});
</script>
</head>
<body>
<ul id="nav">
<li><a href="#first">First</a></li>
<li><a href="#second" id="second">Second</a></li>
</ul>
</body>
</html>
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 将事件聚焦/模糊在可编辑内容的元素上
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在IE8中不起作用的元素上触发单击事件
- 正在ng重复元素上添加事件
- 单击p元素时的javascript触发事件
- 存在每个时间元素的javascript事件
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 将jQuery事件应用于所有类元素
- 在IE8上使用jQuery克隆HTML5元素和事件
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 访问代码生成的输入元素上的keyup事件
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 当元素到达屏幕上的某个位置时触发事件
- Mootools:如何在点击时保持元素高亮显示并停止所有事件
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- JQuery:使用clone()生成的元素不采用原始的事件属性
- 从其他元素上的单击事件访问image src属性
- 触发“三个”的点击事件.元素