当用户点击链接时,我正在尝试使用AJAX加载一些东西,但我希望链接实际上去某处,以便在禁用javascript时应用程序仍然有效.有没有办法只使用javascript做一些事情并在点击链接时取消导航?
什么是最佳做法?可以这样做,还是我需要使用javascript替换链接或什么?
我有一个带有multiple="multiple"属性的文件输入,允许用户一次选择多个文件.我想在上传之前显示所选的文件名及其计数但是我不知道如何使用javascript从文件输入元素获取此信息?
<input type="file" id="fileElementId" name="files[]" size="20" multiple="multiple" />
Run Code Online (Sandbox Code Playgroud)
我试过这个:
document.getElementById('fileElementId').value
Run Code Online (Sandbox Code Playgroud)
但是,当我选择多个文件时,这只返回一个文件名.使用JavaScript是如何从具有multiple属性的文件输入元素中检索所选文件及其名称的数量?
我试图找出一种通过javascript的event.dataTransfer传递本机对象的方法来进行拖放.我正在编写CMS的前端编辑器部分,并希望用户能够拖放元素(许多不同类型,从文件到图像到HTML片段到几乎任何东西).这就是为什么我想传递一个真实的对象,所以我可以附加数据来指定必要的东西,以便知道如何渲染它.
一种解决方法是使用jQuery的.data()将对象附加到页面上的其他内容,然后简单地在setData中传递选择器字符串...但我并不特别喜欢该hack.
这也可以通过jQuery UI的draggable/droppable来解决(我并不完全反对使用任何库),但由于dropzone位于iframe中,这实际上是最新jQuery UI中的文档错误(1.10.2) ).另外,如果可能的话,我更愿意本地做.这个应用程序中已经有足够的库.
这是问题所在:http://jsfiddle.net/AHnh8/
var foo = {foo: "foo", bar: "bar"};
$dragme.on("dragstart", function(e) {
e.originalEvent.dataTransfer.setData("foo", foo);
});
$dropzone.on("dragenter", function(e) { e.preventDefault(); });
$dropzone.on("dragover", function(e) { e.preventDefault(); });
$dropzone.on("drop", function(e) {
console.log(e.originalEvent.dataTransfer.getData("foo")); // [Object object]
console.log(typeof e.originalEvent.dataTransfer.getData("foo")); // string
});
Run Code Online (Sandbox Code Playgroud)
现在,在阅读了规范后,我完全理解为什么会失败.我不明白的是,如何最终实现我想要的.
谢谢
我想创建一个(非匿名)函数,按键按字母顺序对对象数组进行排序name.我只编写直接的JavaScript代码,所以框架至少对我没用.
var people = [
{'name': 'a75', 'item1': false, 'item2': false},
{'name': 'z32', 'item1': true, 'item2': false},
{'name': 'e77', 'item1': false, 'item2': false}
];
Run Code Online (Sandbox Code Playgroud) 我有一个div带有CSS伪元素的元素::before用作关闭按钮(而不是使用实际按钮).我该如何申请一个事件监听器只伪元素?
HTML
<div id="box"></div>
Run Code Online (Sandbox Code Playgroud)
CSS
#box:before
{
background-image: url(close.png);
content: '';
display: block;
height: 20px;
position: absolute;
top: -10px;
right: -10px;
width: 20px;
}
#box
{
height: 100px;
width: 100px;
}
Run Code Online (Sandbox Code Playgroud) 我有一个div像这样的元素样式:
<div style="overflow-y: auto; max-height: 300px;">< id="DivTableContainer" ></div>
Run Code Online (Sandbox Code Playgroud)
当它变得高于300px时,我需要允许沿y轴滚动,这很好.但我需要设置"visiblity = false"滚动条本身.
我试着使用这个元素样式:
overflow-y: hidden;
Run Code Online (Sandbox Code Playgroud)
虽然它隐藏了滚动条,但它也不允许滚动.有没有办法滚动滚动条而不显示滚动条?
我有一个案例,我想使用jquery捕获"shift + tab"键的同时按键事件.实际上,你们都知道它用于向后移动标签,但对于我来说,在一种情况下,标签不能向任何方向工作,即既不向前也不向后.所以我找到了一个jquery函数,用于向前移动标签,如下所示: -
$(':input').live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
tindex = parseInt($(this).attr("tabindex")) + 1;
if($(":input[tabindex='" + tindex + "']"))
{
$(":input[tabindex='" + tindex + "']").focus();
}
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想向后移动tah tab.有人可以指导我如何实现这一目标???
我已经将SVG文件数据直接嵌入到我的html中.它在Chrome和Firefox中显示,但在IE11中根本不显示.与SVG的pastebin链接是http://pastebin.com/eZpLXFfD
我尝试添加META TAG但无济于事.起初我以为它可能是IE兼容性视图问题,但切换该功能也不起作用.
<meta http-equiv="X-UA-Compatible" content="IE=8">
有帮助吗?我还能提供哪些信息来帮助回答这个问题
我正在构建面向Android用户的移动网络应用.我需要知道哪些DOM事件可供我使用.我已经能够完成以下工作,但不是非常可靠:
我无法让以下工作:
有没有人知道支持的内容的完整列表以及在什么情况下(例如,onchange只能用于表单输入?)?我在谷歌上找不到这方面的参考.
谢谢!
更新:我在Android开发人员列表中问了同样的问题.我将做更多的测试,并将在这里和那里发布我的结果.
我正在学习HTML5中的历史,在这个例子中(打开JavaScript浏览器控制台以查看错误)event.state.url返回:
Uncaught TypeError: Cannot read property 'url' of undefined
Run Code Online (Sandbox Code Playgroud)
看看和帮助:http://jsfiddle.net/un4Xk/