0

你知道那些你可以通过互联网控制的网络摄像头吗?当您按下按钮向左移动时,它会向左移动......但页面上没有其他任何事情发生......这就是我需要创建的。

我有一个页面可以让我控制家里的灯。当我点击按钮时,我现在让它在一个单独的框架中加载 php 脚本(控制灯光)。但我想摆脱这个。所以基本上我想创建一个链接,它将在后台调用 php,但该链接不会对其所在的页面做任何事情。

有任何想法吗?

4

9 回答 9

1

return false;click事件中使用 a :

<a href="#" onclick="return false;">Not Follow the Link</a> 

解释

事件处理程序的返回值决定了默认浏览器行为是否也应该发生。在点击链接的情况下,这将是跟随链接,但差异在表单提交处理程序中最为明显,如果用户输入信息错误,您可以取消表单提交。

实现这种效果的现代方式是调用event.preventDefault(),这在DOM 2 事件规范中指定。

于 2012-11-11T16:07:35.137 回答
0

我喜欢jquery...

您会注意到 onclick 函数返回 false。这是为了阻止链接工作......

<a onclick="do_it(this)" ...

然后在你的js中

function do_it(anchor)
{
jQuery.ajax(
    {
            url     : anchor.get_attribute('href'),
            data    : {whatever},
            type    : 'POST',
            success : function(data)
            {
                alert('woo');
            }
    }
)
return false;
}

我在这里所做的几乎是:

因此,当单击锚点时,jquery 会发布到锚点的 url。如果需要,您可以包含数据。这是异步发生的,因此在 jQuery 获得响应 html(或其他)之前,您的页面上不会发生任何事情。如果你想对响应做任何事情,你可以在成功函数中得到它。

当函数返回时,它返回 false,从而阻止锚点做它通常的事情。

于 2012-11-11T16:06:58.303 回答
0

您可以使用以下 jquery 解决方案:

HTML:

<a href="your_page.php" id="link1">Move lights to left</a>

查询:

<script type="text/javascript">
   $(document).ready(function() {
      $('#link1').click(function(e) {
         e.preventDefault();
         $.ajax( $(this).attr('href') );
      });
   });
</script>
于 2012-11-11T16:09:07.050 回答
0

你在谈论javascript,创建一个onlick事件/函数并在特定的DIV区域实现AJAX

请查看: http ://www.w3schools.com/ajax/ajax_examples.asp

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
//You need `ajax_info.txt` file with some content
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>
于 2012-11-11T16:00:05.730 回答
0

您将需要使用 ajax 来实现这样的行为。

不做任何事情的链接基本上是 HTML 链接,您可以在其中将 onclick 事件绑定到返回 false 的 JavaScript 函数。这使得链接“什么都不做”,但仍然执行告诉相机向左/向右移动的 JavaScript。

于 2012-11-11T16:01:43.260 回答
0

HTML 5 让你正式使用没有 href 属性的锚元素。但我只会将 Javascript 事件侦听器绑定到您已有的任何元素。我什至会使用 Javascript 将这些交互元素自己添加到 DOM 中,因为如果用户禁用了 JS,它们就没有任何用途。

于 2012-11-11T16:02:17.250 回答
0

您需要 Ajax 从 PHP 中检索数据,而无需加载另一个页面。

要“禁用”链接:

<a href="javascript: myFunction(); return false;">Link</a>

或者:

<a href="#" onclick="myFunction(); return false;">Link</a>

或者只是编写一个普通链接并使用 jQuery(或其他库)来添加事件:

$('a').click(function(event) {
    // the code with ajax
    event.preventDefault();
});
于 2012-11-11T16:04:19.120 回答
0
<a href="#" onclick="function()">...</a> 

会给你看起来像一个链接的文本。

如果它不是真正的链接,您可能希望考虑使用不同类型的样式来强调这一点,以便其他带下划线的链接显示为链接,而这显示为其他内容。一切都取决于您的需求和情况。

于 2012-11-11T16:04:59.150 回答
0

不敢相信还没有人发过这个。只需使用 javascript 无效:

<a href="javascript:void(0)" onclick="doWhateverFunction(this)">some click function</a>

它是书中最古老的技巧之一!

于 2012-11-11T16:09:55.570 回答