Javascript 不带href、onclick等的按钮
最近,我看到很多网站都有可点击的对象,它们的html代码中没有任何HREF或onclick。我还试着提醒他们的href、onclick、onmousedown、onmouseup属性,但它只说“未定义”。我注意到这些页面中有很多复杂的javascript 有一个网站特别让我困惑: 实际上相当不错。按钮也不可选择。按钮的ID为NEXTBTTN、NEXTBTTN2、prevBtn和prevBtn2Javascript 不带href、onclick等的按钮,javascript,ajax,onclick,href,Javascript,Ajax,Onclick,Href,最近,我看到很多网站都有可点击的对象,它们的html代码中没有任何HREF或onclick。我还试着提醒他们的href、onclick、onmousedown、onmouseup属性,但它只说“未定义”。我注意到这些页面中有很多复杂的javascript 有一个网站特别让我困惑: 实际上相当不错。按钮也不可选择。按钮的ID为NEXTBTTN、NEXTBTTN2、prevBtn和prevBtn2 有人知道如何实现这个吗?使用javascript,找到元素并给它一个onClick事件处理程序。e、
有人知道如何实现这个吗?使用javascript,找到元素并给它一个onClick事件处理程序。e、 g:
var myElement = document.body; // or document.getElementById(...), etc.
myElement.onclick = function(event) {alert(event);}
这将避免在HTML中显示任何内容,这是您链接的网站的方式(除了深奥的CSS之外,没有其他方法来定义行为)。您可以使用jQuery的.click(回调)函数()或.delegate(selector,'click',callback)(在jQuery 1.7之前)和.on('click',selector,callback)(jQuery 1.7+)或.bind(“单击”,回调) 感谢Anthony Grist指出.live()现在已被弃用:) 因此:
<button id="clickable">Click Me!!</button>
您可以在我提供的链接和jQuery的主页上阅读更多关于这方面的内容
更新
实际页面通过以下方式处理此问题:
$('#prevBtn').mousedown (onBackward);
这将是一个向下呼叫:
function onBackward () {
showImg (currentId - 1);
}
箭头键的使用:
$(document).keyup (function (event) {
var activeElement = document.activeElement.tagName;
if (activeElement == 'INPUT' || activeElement == 'TEXTAREA') return;
//alert (window.location.pathname);
if (event.keyCode == 39) onForward();
else
if (event.keyCode == 37) onBackward();
});
有关幻灯片的源代码,请参阅。您可以尝试使用jQuery ui库-这可以按照您指定的方式创建按钮
事件处理程序可能是使用jQuery等Javascript框架绑定的。它们不使用DOM元素的
onclick
属性。有关使用jQuery将click
事件处理程序绑定到按钮的示例,请参见,然后单击该按钮以查看该按钮的onclick
值(在FF 9中显示为null
)(使用javascript)。下面是一个例子:
<a id="uniqueId" href="#">Button</a>
<script>
var button = document.getElementById('uniqueId');
button.onclick = function(e) {
alert("clicked!");
}
</script>
var button=document.getElementById('uniqueId');
button.onclick=函数(e){
警报(“单击!”);
}
单击函数可以在js中初始化,例如,$(“#nextBtn”)。单击(函数) .live()
不推荐使用,您应该改用.on()
(jQuery 1.7+)或.delegate()
(jQuery 1.7之前)。它如何使用“左”-“右”箭头实现图片之间的导航?@AnthonyGrist感谢您指出这一点,有一段时间没有阅读文档:)根据您的建议编辑我的代码。可能是这样,因为大多数网站都是这样。我一直在推迟学习jquery。但我想我必须这么做start@karunchaudharyjQuery是一个很棒的强大工具,我绝对建议学习如何使用它:)这个方法的问题是,我在运行时仍然会看到这个函数:alert(document.getElementById('uniqueId').onclick)
@karunchadhary我可以看到您刚刚注册,欢迎来到StackOverflow社区:)如果其中一个答案回答了您的问题,请将其标记为正确答案。
<a id="uniqueId" href="#">Button</a>
<script>
var button = document.getElementById('uniqueId');
button.onclick = function(e) {
alert("clicked!");
}
</script>