按钮没有href,onclick等

时间:2012-01-11 09:28:21

标签: javascript ajax onclick href

最近,我发现许多网站都有可点击的对象,这些网站的html代码中没有任何href或onclicks。我也尝试过警告他们的href,onclick,onmousedown,onmouseup属性,但它只是说" undefined"。我注意到这些页面中有很多复杂的javascript。

一个网站特别让我困惑: http://www.sharenator.com/Boy_Teaches_His_Puppy_How_to_Eat/#/doggy_01_Boy_Teaches_His_Puppy_How_to_Eat-0.html

实际上非常好。按钮也不可选。按钮的ID为nextBtn,nextBtn2,prevBtn和prevBtn2。

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

6 个答案:

答案 0 :(得分:5)

你可以使用jQuery的.click(回调)函数(http://api.jquery.com/click/)或.delegate(选择器,'click',回调)(在jQuery 1.7之前)和.on('click',selector,callback) (jQuery 1.7+)或.bind('click',callback)。

感谢Anthony Grist指出.live()现已弃用:)

如此:

<button id="clickable">Click Me!!</button>

然后使用jQuery定位按钮:

$("#clickable").click(function(){
    // Send user to this link
    location.href = "http://www.takemehere.com";
});

您可以在我给出的链接以及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();
});

有关幻灯片显示的源代码,请参阅http://www.sharenator.com/js/slideshow.js

答案 1 :(得分:0)

使用javascript,找到该元素并为其提供一个onClick事件处理程序。 e.g:

var myElement = document.body;  // or document.getElementById(...), etc.
myElement.onclick = function(event) {alert(event);}

这将避免在HTML中显示任何内容,以及您链接的网站是如何做到的(没有其他方式来定义行为......除了可能是深奥的CSS)。

答案 2 :(得分:0)

您可以尝试使用jQuery ui库 - 这可以按照您指定的方式创建按钮。

jQuery UI

答案 3 :(得分:0)

事件处理程序可能使用jQuery等Javascript框架绑定。它们不使用DOM元素的onclick属性。有关使用jQuery将click事件处理程序绑定到按钮的示例,请参阅this jsFiddle,然后单击按钮以查看该按钮的onclick值(显示为null在FF 9)。

答案 4 :(得分:0)

用javascript。这是一个例子:

<a id="uniqueId" href="#">Button</a>

<script>
    var button = document.getElementById('uniqueId');
    button.onclick = function(e) {
        alert("clicked!");
    }
</script>

答案 5 :(得分:0)

点击功能可以用js初始化,例如$(“#nextBtn”)。点击(功能);