你知道那些你可以通过互联网控制的网络摄像头吗?当您按下按钮向左移动时,它会向左移动......但页面上没有其他任何事情发生......这就是我需要创建的。
我有一个页面可以让我控制家里的灯。当我点击按钮时,我现在让它在一个单独的框架中加载 php 脚本(控制灯光)。但我想摆脱这个。所以基本上我想创建一个链接,它将在后台调用 php,但该链接不会对其所在的页面做任何事情。
有任何想法吗?
return false;
在click
事件中使用 a :<a href="#" onclick="return false;">Not Follow the Link</a>
事件处理程序的返回值决定了默认浏览器行为是否也应该发生。在点击链接的情况下,这将是跟随链接,但差异在表单提交处理程序中最为明显,如果用户输入信息错误,您可以取消表单提交。
实现这种效果的现代方式是调用event.preventDefault()
,这在DOM 2 事件规范中指定。
我喜欢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,从而阻止锚点做它通常的事情。
您可以使用以下 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>
你在谈论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>
您将需要使用 ajax 来实现这样的行为。
不做任何事情的链接基本上是 HTML 链接,您可以在其中将 onclick 事件绑定到返回 false 的 JavaScript 函数。这使得链接“什么都不做”,但仍然执行告诉相机向左/向右移动的 JavaScript。
HTML 5 让你正式使用没有 href 属性的锚元素。但我只会将 Javascript 事件侦听器绑定到您已有的任何元素。我什至会使用 Javascript 将这些交互元素自己添加到 DOM 中,因为如果用户禁用了 JS,它们就没有任何用途。
您需要 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();
});
<a href="#" onclick="function()">...</a>
会给你看起来像一个链接的文本。
如果它不是真正的链接,您可能希望考虑使用不同类型的样式来强调这一点,以便其他带下划线的链接显示为链接,而这显示为其他内容。一切都取决于您的需求和情况。
不敢相信还没有人发过这个。只需使用 javascript 无效:
<a href="javascript:void(0)" onclick="doWhateverFunction(this)">some click function</a>
它是书中最古老的技巧之一!