Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不带href、onclick等的按钮_Javascript_Ajax_Onclick_Href - Fatal编程技术网

Javascript 不带href、onclick等的按钮

Javascript 不带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、

最近,我看到很多网站都有可点击的对象,它们的html代码中没有任何HREF或onclick。我还试着提醒他们的href、onclick、onmousedown、onmouseup属性,但它只说“未定义”。我注意到这些页面中有很多复杂的javascript

有一个网站特别让我困惑:

实际上相当不错。按钮也不可选择。按钮的ID为NEXTBTTN、NEXTBTTN2、prevBtn和prevBtn2


有人知道如何实现这个吗?

使用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>