我想读取一个文件(在客户端)并获取数组中的内容.它只是一个文件.我有以下,它不起作用.'query_list'是一个textarea,我想显示文件的内容.
<input type="file" id="file" name="file" enctype="multipart/form-data"/>
<script>
document.getElementById('file').addEventListener('change', readFile, false);
function readFile (evt) {
var files = evt.target.files;
var file = files[0];
var fh = fopen(file, 0);
var str = "";
document.getElementById('query_list').textContent = str;
if(fh!=-1) {
length = flength(fh);
str = fread(fh, length);
fclose(fh);
}
document.getElementById('query_list').textContent = str;
}
</script>
Run Code Online (Sandbox Code Playgroud)
我该怎么办呢?最终我想循环遍历数组并运行一些SQL查询.
我在这部分遇到了麻烦:
var ex = {
exampl: function(){
var ref=window.event.target||window.event.srcElement; // here
alert(ref.innerHTML); // (example)
}
}
Run Code Online (Sandbox Code Playgroud)
这个函数以这种方式调用:
document.body.childNodes[0].addEventListener('mouseover',ex.exampl,true);
Run Code Online (Sandbox Code Playgroud)
只有Firefox说window.event没有定义......
我不知道该怎么做,让它发挥作用.它在webkit浏览器和opera中运行得非常好(我无法在MSIE中检查它,我不关心它).
为什么会这样?
请考虑以下网页:
<html>
<body onscroll="alert('body scroll event')">
<div style='width:200px;height:200px;overflow:auto' onscroll="alert('div scroll event')">
<div style='height:400px'>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个html创建一个带滚动条的div.如果移动滚动条,则会触发div元素上的"onscroll"事件.但是,身体上的"onscroll"事件不会被触发.这是预期的,因为W3C声明元素onscroll事件不会"冒泡".
但是,我正在开发一个客户端Web框架,只要滚动页面的任何元素上的滚动条,就需要知道它.如果"onscroll"冒泡,这很容易做到,但不幸的是,它没有.有没有其他方法可以检测整个页面上的onscroll事件?(现在我主要关注Webkit,所以特定于Webkit的解决方案会很好......)
以下是我尝试过的一些事情:1.捕获DOMAttrModified(似乎不会触发移动滚动条.)2.使用DOM Observers(似乎也不会触发滚动条)3.更改"onscroll"事件类型泡沫(似乎不可能)
似乎全局捕获onscroll事件的唯一方法是将onscroll事件附加到可能滚动的每个元素,这非常难看并且会损害我的框架的性能.
谁知道更好的方法?
提前致谢!
我想创建一个使用很多键盘事件的bbs论坛,
那么哪个是最好的键盘事件库,
谢谢
出于好奇 - jQuery的用例/用例是triggerHandler什么?据我所知道的,唯一的"真实"之间的差异trigger,并triggerHandler为本地事件触发与否,和事件冒泡行为(虽然triggerHandler的冒泡的行为似乎并不很难用复制trigger的代码几行) .确保本机事件不会触发有什么好处?
我很好奇这是否是一个便利功能,或者它存在更深层次的原因,以及我何时/什么时候使用它.
jquery events javascript-events jquery-trigger jquery-triggerhandler
我目前正在试图找出点击事件处理程序附加到我的div.应该只附加一个处理程序,但似乎至少有一个.我正在使用FireBug,但Chrome也可以选择.我不喜欢IE,所以我不想使用它.
最好的情况是我可以使用FireBug检查我的div,并查看事件处理程序列表.
我想知道我是否可以使用javascript创建文本文件并将文件保存在他/她的计算机的用户"下载"部分中.我的功能应该工作的方式是当用户单击提交按钮时,我在文本文件中填充用户信息,然后将其保存在他的机器中.我希望这可以在谷歌Chrome中工作.
这可能吗?我看到的帖子明确告诉我这是一个严重的安全问题.
javascript google-chrome javascript-events google-chrome-extension facebook-javascript-sdk
有关如何捕获具有溢出的元素的滚动事件的任何见解:隐藏?我想滚动一列而不向用户显示滚动条.
元素有一个javascript style对象,其中包含css样式的不同名称和值.我想在每次更改此对象而不使用轮询时触发函数.有没有办法以跨浏览器兼容的方式执行此操作,并且可以与第三方代码可靠地工作(因为假设您提供了一个插件脚本)?将javascript事件绑定为DOMAttrModified或DOMSubtreeModified不足以因为它们无法在Chrome中运行.
<input type="text" id="test_value" name="test_value" value="xyz" />
<input id="test_default" name="test_default" type="checkbox" onclick="with(this.form.elements['test_value']) { disabled = this.checked; if (this.checked) { value = ''; } else {if(value=='') {value=' '; value = '';}}};" />
Run Code Online (Sandbox Code Playgroud)
内联onclick是由我无法控制的cms生成的.我想$("#test_default").click();用jQuery 执行,但这不起作用,因为它没有绑定到jQuery事件管理器.
我一直在尝试变种
$("#test_default").click(function (e) {
$(e.target).attr("onclick").apply(checkbox, [e]);
return false;
}).click();
Run Code Online (Sandbox Code Playgroud)
但无济于事.请帮忙.
谢谢.
onclick中可能有几十种不同的内联函数.复制它们并将它们并行运行并不是一个真正的选择.
答案适用于小型演示,但不适用于实时环境.请查看http://jsfiddle.net/GtJjt/我需要以编程方式触发复选框.
奇怪的是只能$("#metadata_field_text_10190_default")[0].click();正确触发事件.有谁能解释一下?