如何找到被点击的按钮的ID?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
Run Code Online (Sandbox Code Playgroud) 我已经看到了将JavaScript代码放入<a>标记的以下方法:
function DoSomething() { ... return false; }
Run Code Online (Sandbox Code Playgroud)
<a href="javascript:;" onClick="return DoSomething();">link</a><a href="javascript:DoSomething();">link</a><a href="javascript:void(0);" onClick="return DoSomething();">link</a><a href="#" onClick="return DoSomething();">link</a>我理解尝试放置有效URL而不仅仅是JavaScript代码的想法,以防用户没有启用JavaScript.但是为了讨论的目的,我需要假设启用了JavaScript(没有它就无法登录).
我个人喜欢选项2,因为它可以让你看到将要运行的内容 - 在调试传递给函数的参数时尤其有用.我已经使用了很多,并没有发现浏览器问题.
我读过人们推荐4,因为它给了用户一个真实的链接,但实际上,#不是"真实的".它绝对不会在哪里.
当您知道用户启用了JavaScript时,是否有一个不支持或非常糟糕?
如何防止onclick方法中的默认值?我有一个方法,我也传递自定义值
<a href="#" onclick="callmymethod(24)">Call</a>
Run Code Online (Sandbox Code Playgroud)
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含一个iframe一个模式对话框窗口(弹出),
以及里面的iframe有一个DIV是滚动的.
当我滚动iframe的内部DIV,并且它已达到其上限或下限时,
浏览器本身的窗口开始滚动.这是一种不受欢迎的行为.
我尝试过这样的东西,当
onMouseEnter鼠标进入弹出框区域时会杀死主窗口滚动:
e.preventDefault()由于某种原因不能正常工作......
$("#popup").mouseenter(function(){
$(window).bind("scroll", function(e){
e.preventDefault();
});
}).mouseleave(function(){
$(window).unbind("scroll");
});
Run Code Online (Sandbox Code Playgroud)
好像现在在2013年e.preventDefault();就够了......
我目前正沉浸在jQuery学习中心.我要从头到尾.
我刚看完这一段:
同样重要的是要注意事件对象包含一个名为的属性
originalEvent,它是浏览器自身创建的事件对象.jQuery用一些有用的方法和属性包装这个本机事件对象,但在某些情况下,你需要通过event.originalEvent例如访问原始事件.这对移动设备和平板电脑上的触摸事件特别有用.
最后一句,"这对移动设备和平板电脑上的触摸事件特别有用." ,真的引起了我的兴趣.但这与学习中心originalEvent到目前为止一样多.
有没有人知道有event.originalEvent关于触摸事件/移动设备的更密集的学习/练习的良好资源?
Internet Explorer是否支持e.preventDefaultjavascript?如果不是什么原因和替代方案是什么?请不要建议使用jQuery,mootools等库的任何解决方案.
if (!e) e = window.event;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
Run Code Online (Sandbox Code Playgroud) 如果这已经被覆盖我提前道歉,但我是新手,我看到有其他类似的帖子,但没有一个帮助所以我想可能还有另一个问题.
我有一个模态弹出窗口,它在Chrome中工作正常,但在IE中不起作用.问题似乎与线路有关
{ e.preventDefault(); }
Run Code Online (Sandbox Code Playgroud)
它给出以下错误.
错误:对象不支持属性或方法'preventDefault'
就像我说我是新手一样,我已经尝试过做其他日志中的说法,只要放一个圆形或者只是删除线但没有运气所以任何人都可以帮助我.
/* prevent default behaviour on click */
var e = this.browserEvent;
var tgt = this.triggeringElement;
/*e.preventDefault();*/
{ e.preventDefault(); }
/* Trigger JQuery UI dialog */
var horizontalPadding = 30;
var verticalPadding = 30;
$('<iframe id="modalDialog" src="' + $(tgt).attr("href") + '" />').dialog({
title: "IC v RT",
autoOpen: true,
width: 1050,
height: 700,
modal: true,
close: function(event, ui) {apex.event.trigger('#P28_AFTER_MODAL','select',''); $(this).remove();},
overlay: {
opacity: 0.5,
background: "black"}
}).width(1050 - horizontalPadding).height(700 - verticalPadding);
return false;
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的网站上添加键盘快捷键,以便使用键盘实现快速导航.但是,我尝试使用Alt + X快捷方式遇到了一个小问题.事件运行得很好并且false应该返回,但浏览器的"文件"菜单无论如何都会出现.我也试过这个preventDefault方法,但没有改变.
该脚本的简化版本是:
document.documentElement.onkeydown = function(e) {
e = e || window.event;
switch( e.keyCode || e.which) {
// some cases here - most notably:
case 116: // F5 key
if( activeFrame) {
activeFrame.contentWindow.location.reload();
// reloads an iframe if one is active
return false;
}
break;
// more cases...
case 88: // X key
if( e.altKey) {
// do something
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如上所述,覆盖F5键的默认操作可以正常工作 - 只有在没有iframe处于活动状态时,浏览器才会重新加载页面.我不太清楚如何在按下Alt + X时阻止显示菜单.
我正在提交表单,我想阻止提交操作,直到我执行一些其他操作,例如显示文件上传的进度条.我根据诸如event.preventDefault()函数之类的SO问题设置了这个代码.
$(document).ready(function(){
$("#fileform").submit(function(e){
if(!e) e = window.event;
if (e.preventDefault){
// Firefox, Chrome
e.preventDefault();
}else{
// Internet Explorer
e.returnValue = false;
}
// other code
}
}
Run Code Online (Sandbox Code Playgroud)
在Firefox和Chrome中一切正常; 阻止提交操作,出现进度条,然后在我告诉时提交表单.但是,在IE 10中,执行if语句的第一个条件,并且表单似乎正在尝试提交(IE 10的提交气泡显示).为什么第一个条件被执行?
IE 10是否支持在IE 8和9中没有的preventDefault()?如果是这样,我如何正确处理阻止IE 8,9,10中的表单提交操作,不会干扰Firefox,Chrome,Safari等...?
我正在用 Javascript 开发一个滚动条。除了一个问题外,一切正常。我注意到,在拖动滚动条时,如果将鼠标移动到正在滚动的上下文上,则会选择内容。我不希望这种情况发生,因此我使用了preventDefault事件对象中的方法,该方法非常适合 IE9 和其他现代浏览器。但在IE7和IE8上,问题依然存在。我做了一些搜索,发现我应该将returnValue事件对象的参数设置为 false。但问题仍然存在。另外,如果我写alert(window.event.returnValue)它就会弹出undefined。
scrollbar.onmousedown = function (event) {
if (typeof event == 'undefined') event = window.event;
if (typeof event.preventDefault != 'undefined') event.preventDefault();
event.returnValue = false;
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?