文件悬停像gmail
File-drop hover like gmail
我有以下html:
<div class="drop_window">
<input class="drop_target" type="file" class="crop locale" size="800" />
<div class="file_name">{{ video.original_file_name }}</div>
</div>
要让drop_window在悬停时改变颜色,我可以这样做:
.drop_window:hover {
background: #F5FFF5;
}
但是,如果我尝试将文件拖到drop_window中,它不会改变颜色。我该如何做到这一点,就像Gmail的文件删除功能一样?
这里是一个例子,我目前有:http://jsfiddle.net/5MjGS/
你可以在dragenter
上只使用addEventListner
,然后你可以调整样式。确保在dragexit
上更改颜色,例如:
所以如果你想让它只在div
上尝试:
var drop = document.getElementById("layout");
drop.addEventListener("dragenter", change, false);
drop.addEventListener("dragleave",change_back,false);
function change() {
drop.style.backgroundColor = '#EFF2AA';
};
function change_back() {
drop.style.backgroundColor = 'transparent';
};
<标题>——编辑jsfiddle: http://jsfiddle.net/zFbfE/1/
标题>就像@enginefree说你必须添加一些事件来改变上传容器的css样式。
唯一的问题是我应该使用dragover
事件而不是dragenter
事件。
var drop = document.getElementById("layout");
drop.addEventListener("dragover", change, false);
drop.addEventListener("dragleave",change_back, false);
drop.addEventListener("drop", change_back, false);
function change() {
drop.style.backgroundColor = '#EFF2AA';
};
function change_back() {
drop.style.backgroundColor = 'transparent';
};
这是因为如果您将鼠标悬停在输入控件或上传容器内的其他div上,dragenter
将不起作用。如果您将鼠标悬停在任何控件上,事件dragover
将触发。您只需要使用dragleave
事件再次删除样式
有相当多的拖放文件上传插件。
它看起来像一个文件,它是悬停/鼠标在窗口上,不一定是在元素上。
本教程http://www.inserthtml.com/2012/08/file-uploader/是我用来实现将AJAX文件上传到我创建的站点的教程。下面是演示:http://www.inserthtml.com/demo/file-upload/
它看起来像目标的进入拖动文件,他们使用这个jQuery事件处理程序。
$('#drop-files').bind('dragenter', function() {
$(this).css({'box-shadow' : 'inset 0px 0px 20px rgba(0, 0, 0, 0.1)', 'border' : '4px dashed #bb2b2b'});
return false;
});
你要找的事件处理程序是dragenter
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 手风琴可点击并悬停
- 悬停功能触发器
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- css(或jQuery)悬停时淡入淡出
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- jquery快速悬停问题
- 如何在悬停时流畅地更改单词
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- Flexslider导航按钮在悬停时不可见,带有橙色框
- 使用Javascript,如何显示<tr>在另一<tr>悬停时,隐藏第二个<tr>
- 在鼠标悬停时展开列表
- 导航菜单-悬停时的背景行为怪异
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- jQuery悬停在没有鼠标悬停的情况下启动
- 文件悬停像gmail