【问题标题】:Button that contains an Href with event包含带有事件的 Href 的按钮
【发布时间】:2014-12-05 11:24:39
【问题描述】:

我在正在执行操作的 TEXT 上有一个 href。 (该操作正在更改我与另一个 div 一起使用的 div)。 我想将 TEXT 更改为 BUTTON,但我知道我不能将“按钮标签”嵌入到“标签”中。

    <a href="EXTERNALPAGE.html"  onmousedown="loadextPage(event) ">  BACKBUTTON </a> 

    <button id="back_button"> BACKBUTTON   </button> 

另外这是事件的代码:

      function loadextPage(event) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById('pop_up_frame').innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", event.target.href, true);
        xmlhttp.send();

}

解决了

        <div id="back_button" onclick="return false" onmousedown="loadextPage(event)"                 style="cursor:pointer">
    <button>
        <a href="secondpopup.html">   Go Back </a>
    </button>
        </div>

<script>

    function loadextPage(event) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById('pop_up_frame').innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", event.target.href, true);
        xmlhttp.send();
    }




</script>

【问题讨论】:

  • 你到底在问什么?是否可以将其设为按钮,或者为什么单击时不执行事件?
  • 两者我都能理解。
  • onclick="return false" 因为此链接无效,请尝试删除它
  • 您对使用“onmousedown”有何想法? onclick 不是您想要的选项吗?
  • 等等,你希望它是一个按钮还是不?您的代码和问题不匹配

标签: html button href


【解决方案1】:

试试这个

<button onclick="myFunction()">Click me</button>

【讨论】:

    【解决方案2】:

    当我看到你的函数 loadextPage(event) 时,我知道你为什么想要一个锚标记,因为该函数正在获取单击元素的 href 以加载外部页面。所以你可以像这样使用具有数据属性的按钮

    <button id="back_button" data-href="EXTERNALPAGE.html" onmousedown="loadextPage(event)"> BACKBUTTON   </button>
    

    你需要把你的功能改成这个

    function loadextPage(event) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById('pop_up_frame').innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", event.target.dataset.href, true);
        xmlhttp.send();
       }
    

    所以从这里

    xmlhttp.open("GET", event.target.href, true);
    

    xmlhttp.open("GET", event.target.dataset.href, true);
    

    例如http://jsfiddle.net/2vka9ubj/

    【讨论】:

    • 感谢您的关注。我遵循您的方法,但它不起作用,所以我正在考虑使用 DIV 并将 DIV 设置为按钮而不是使用标签 Button 但显然也不起作用。
    • 为什么不把 a 标签设置为按钮?
    • esyer 来控制 div 发生的事情,因为它是一个静态元素,只要您不添加任何侦听器。按钮有一个提交功能,所以我认为有什么连接或......我不知道......只是尝试。但我不能扔
    • 我将 div 设置为按钮
    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 2014-06-12
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2018-01-20
    • 2014-07-06
    相关资源
    最近更新 更多