要隐藏链接的真实目的地,我使用以下代码:
<a href="http://example.com" onclick="window.location='http://url-i-want-to-hit.com/'; return false;">Click me</a>
Run Code Online (Sandbox Code Playgroud)
但是,如果我右键单击然后在新窗口中打开,它会转到锚点 href 标记中指定的网址。我希望它转到 javascript 中指定的 url。
有没有办法做到这一点?
提前致谢
有没有办法检测/捕捉浏览器的后退按钮被按下并询问他们是否确定要返回?
正在构建一个应用程序,它将很快转换为基于 ajax 的应用程序,并且根据要求,如果用户“返回”,它应该重置应用程序......
我主要希望这能捕捉到意外按下后退按钮,因为我个人觉得如果有人不能按照申请开始时给他们的指示......我不担心他们的额外工作。
如果没有办法做到这一点,最好的解决方案是在新窗口/选项卡中启动应用程序,以便它没有历史可以返回?
所以,我需要根据输入的代码创建一个重定向系统。目前我有:
<form id="form1" name="form1" method="post" action="">
<pre> <input type="text" name="meow" id="meow" /> <input type="submit" name="submit" id="submit" value="Submit" onclick="javascript:window.location.href('http://foo.exaple.com/bar/' + document.getElementById("meow").value + '.zip')"/>
Run Code Online (Sandbox Code Playgroud)
基本上,我需要上面的脚本根据在文本框喵喵中输入的代码在 foo.example.com/bar/ 中下载 zip 文件。
当我在文本框中输入代码“ugh”并单击提交时,我想在http://foo.example.com/bar/ugh.zip下载文件
我怎样才能做到这一点?
我正在尝试发出和监听事件。发射正在工作,但是当我尝试收听应用程序时。任何人都可以帮我解决这个问题吗?
这是代码
export class EmitEvents extends EventEmitter {
constructor () {
super()
this.valid_devices_list = {}
}
_discover() {
this.emit('found');
this.on('found', function () {
console.log('Got it!')
})
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行它 this.on 给我一个错误
this.on 不是函数
这有什么帮助吗?先感谢您!
我正在使用Vue2.x,我想通过使用自定义指令添加事件监听器。但是在vue1.x中,我可以使用下面的代码片段:
Vue.directive('demo',{
bind () {
let self = this
this.event = function (event) {
self.vm.$emit(self.expression, event)
}
this.el.addEventListener('click', this.stopProp)
document.body.addEventListener('click', this.event)
}
})
Run Code Online (Sandbox Code Playgroud)
但是在vue2.x中,我发现'this'始终是不确定的。而且我不知道如何获取vm(Vue Instance)对象。我已经尝试了文档中所有传递的参数列表。
有谁知道如何访问vm对象?
我正在尝试setState(),以便在调整窗口大小时在设置为组件状态的不同屏幕尺寸上呈现不同数量的项目。我在组件安装时添加了一个事件侦听器,在卸载时将其删除了。
componentDidMount()
{
this.updateValue();
window.addEventListener("resize", this.updateValue.bind(this));
}
updateValue()
{
var windowWidth = window.screen.width;
if(windowWidth <= 991 && windowWidth >= 768){
this.setState({ items:6 })
} else if(windowWidth <= 767 && windowWidth >= 479){
this.setState({ items:4 })
} else if( windowWidth < 480 && windowWidth >= 359){
this.setState({ items:2 })
} else if( windowWidth < 360){
this.setState({ items: 2})
} else {
this.setState({items:12})
}
}
componentWillUnmount()
{
window.removeEventListener("resize", this.updateValue.bind(this));
}
Run Code Online (Sandbox Code Playgroud)
在安装了组件的路线上工作正常;直到我通过打开另一条路线离开组件并调整窗口的大小(这是我收到错误的时间):
警告:setState(...):只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了setState()。这是无人值守。请检查FeaturedRestaurants组件的代码。
调整屏幕大小时,每秒我会收到一百个错误。
显然,removeEventListener无法正常工作。我哪里做错了?
使用.click()方法点击DOM按钮.但它没有自己的文件.
/* Working fine */
function getAlert() {
alert("Clicked!!!");
}
var btn = document.getElementById('btn');
btn.onclick = getAlert;
btn.click()
/* Should be work */
document.onclick = getAlert;
document.clicked()Run Code Online (Sandbox Code Playgroud)
<button id="btn">Click Me!</button>Run Code Online (Sandbox Code Playgroud)
请帮忙.
我有一个简单的HTML页面,如下所示:
...<div id="main">
<a href="#">Click here!</a>
</div>...
Run Code Online (Sandbox Code Playgroud)
我在标题中有一段jQuery JavaScript,如下所示:
<script type="text/javascript">
$(document).ready(function() {
DoHello();
});
function DoHello()
{
$("div#main a").text("Click here!");
$("div#main a").attr("onmouseup", "javascript:alert('Hello!');");
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我点击FireFox中的HTML链接时,我会收到一条警告,上面写着"你好!".为什么这在IE7/8中不起作用?
当我在IE中查看(动态)构建DOM时,我可以看到"onmouseup"存在,但它永远不会被调用.我试过用"onclick"替换"onmouseup" - 同样的问题......
我正在为一个html表单开发一个简单的javascript验证函数,但是使用IE7遇到了它的问题.我没有收到任何错误消息,表单只是提交而不验证.Firefox和Opera工作正常,所以我真的不确定我在这里做错了什么.我用谷歌搜索,但没有发现任何有用的,或者可能没有谷歌搜索正确的关键字.
*另外,如果有人可以推荐一个好的工具用于在IE中调试javascript.
任何帮助将不胜感激.
<html>
<head>
<title>Hello!</title>
<style type="text/css">
.error {
font-family: Tahoma;
font-size: 8pt;
color: red;
margin-left: 50px;
display:none;
}
</style>
<script type="text/javascript">
function checkForm() {
age = document.getElementById("age").value;
name = document.getElementById("name").value;
comment = document.getElementById("comment").value;
parent = document.getElementById("parent").value;
phone = document.getElementById("phone").value;
sig = document.getElementById("sig").value;
player = document.getElementById("player").value;
iagree = document.getElementById("iagree").value;
if (age == "") {
hideAllErrors();
document.getElementById("ageError").style.display = "inline";
document.getElementById("age").select();
document.getElementById("age").focus();
return (false);
} else if (name == "") {
hideAllErrors();
document.getElementById("nameError").style.display = "inline";
document.getElementById("name").select();
document.getElementById("name").focus();
return (false);
} else …Run Code Online (Sandbox Code Playgroud) 我对Javascript上的onkeypress事件有疑问.
是否可以检测到Just Ctl键或Alt键?如果同时按下Ctl和m,则onkeypress事件可以触发点击.是否可以单独执行Ctl键?
期待您的评论
javascript ×10
html ×2
jquery ×2
reactjs ×2
ajax ×1
dom ×1
node.js ×1
react-native ×1
vue.js ×1