标签: javascript-events

当在javascript中注册document.click事件时,如何在IE中正确获取事件目标?

我已经在文档对象上注册了click事件,我希望能够根据被点击的目标来分支逻辑,目标是页面上的div

IE 7-9有一个奇怪的bug,点击时绝对定位div,不注册为事件的目标,这只发生在IE中,返回的目标是绝对定位的底层div.

有没有修复/黑客来处理它,乖乖的IE总是在制造麻烦.

谢谢

javascript events internet-explorer javascript-events

3
推荐指数
1
解决办法
8797
查看次数

event.target jquery on()mousedown/up没有给出选择器指定的dom

嗨,我有这个简单的HTML

<div class="wrapper">
    <span class="higher">
        [higher]
        <span class="lower">
            hello
        </span>
    </span>
</div>?
Run Code Online (Sandbox Code Playgroud)

而这个js

$('.wrapper').on('mousedown', '.higher', function(e){
    alert($(e.target).attr('class'))
    })?
Run Code Online (Sandbox Code Playgroud)

基本上,当我点击"你好"这个词时,我得到的是"更低"的"更高"的内容.如何使事件的目标与on()的selector参数中指定的目标相同?

这是http://jsfiddle.net/TUvB7/2/的小提琴

谢谢!

jquery javascript-events event-bubbling

3
推荐指数
1
解决办法
2万
查看次数

jQuery事件性能:在每个孩子的父事件或个人事件上绑定一个事件?

我有一个div有大量的儿童div(大约4k-5k!).每个孩子都有一个'mousedown'和'mouseup'连接到它的事件.

我是否应该将这些事件一次性附加到父母并选择孩子使用$(e.target)?是否会有任何性能优势,如果是这样,为什么?

谢谢!

javascript jquery javascript-events

3
推荐指数
1
解决办法
4497
查看次数

为什么在同一元素上的mouseDown事件触发后不点击事件触发?

我在同一个元素上有一个mouseDown事件和一个click事件.当我点击它时,mouseDown事件触发(即警告"鼠标按下P"),但点击事件不会.但是,如果我注释掉mouseDown警告语句,则click事件会显示其警报.为什么是这样? http://jsfiddle.net/A8vhq/

jquery javascript-events

3
推荐指数
1
解决办法
3452
查看次数

Safari扩展:全新标签的活动?

我希望将Safari中的新标签重定向到某个URL,实质上是更改默认的新标签页.但是,我不想重定向通过以下链接打开的新选项卡.

该窗口和标签API描述标签"开放"的事件,但是当这些被解雇的任何新标签页中打开(包括新的标签从链接打开).

有没有办法只为那些通过单击新选项卡按钮创建的选项卡捕获新的选项卡事件?

提前致谢!

javascript safari javascript-events safari-extension

3
推荐指数
1
解决办法
2847
查看次数

表单在keyup上使用submit()提交两次

我有一个与此类似的jQuery/HTML代码:

<form action="/SomeAction" method="post">
  <input id="my-textbox" type="text" placeholder="Write something and press enter to continue..." />
</form>

<script type="text/javascript">
 $(function() {
     $('#my-textbox').keyup(function(e) {
        var $textbox = $(this);
        if ($textbox.val().length > 0 && e.keyCode == 13) {
           $textbox.parent('form').submit();
        }
     });
 });
</script>
Run Code Online (Sandbox Code Playgroud)

目的是在用户按下"Enter"键时自动提交表单.我经常使用Firefox,所以在我使用谷歌浏览器和Internet Explorer进行测试之前,一切都还可以.

当我在后面的浏览器中按下Enter键时,有时我会提交两次表单.这很容易被注意到,因为我会在我的数据库中获得重复的条目,并且我会看到两个POST使用Fiddler.

经过一些测试,我发现我的问题是jQuery代码,因为文本框会在没有它的情况下自动提交,并且POST在某些浏览器中使用此代码会产生第二个代码.

我的问题是:

为什么浏览器不能巧妙地阻止第二个表单发布(就像Firefox在我的测试中所做的那样)?

我是否应该在所有平台的所有主流浏览器中都期待此行为?

有没有办法改进这个代码所以我使用JavaScript执行提交,但是没有提交两次提交的表单?

javascript forms jquery javascript-events double-submit-problem

3
推荐指数
2
解决办法
5275
查看次数

如何使用Javascript处理上传的文件

我正在尝试使用javascript处理XML文件.

xhttp.open("GET","exportproject.xml",false);
Run Code Online (Sandbox Code Playgroud)

我想要做的是,让用户使用File uploader指定文件(而不是将其硬编码到exportproject.xml),然后使用javascript处理它而不是将其发送到服务器.

可能吗?

javascript file javascript-events

3
推荐指数
1
解决办法
4509
查看次数

Cookie添加按钮命中

我在添加cookie时遇到问题.阅读几个答案,但很难理解你以前从未与他们合作过.

我基本上想要的是在有人点击指定按钮时添加cookie.因此,例如,如果人们点击"喜欢按钮",无论他是前进/后退还是刷新页面都会显示隐藏的内容,并且几天后cookie将被删除.

我曾经隐藏的内容如下:

HTML:

<div id="fd">
    <p>Button from below will become active once you hit like button!</p>
    <div id="get-it">
        <a class="button"><img src="img/get-button.png"></a>
    </div>
</div>
<div id='feedback' style='display:none'></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

FB.Event.subscribe('edge.create', function (response) {
    $('#feedback').fadeIn().html('<p>Thank you. You may proceed now!</p><br/><div id="get-it"><a class="button2" href="pick.html"><img src="img/get-button.png"></a></div>');
    $('#fd').fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

但是,如果我点击刷新或在内容页面上返回/前进,它将再次被隐藏.这就是我想在按钮点击时添加cookie的原因.谁可以给我一些解释或示例代码?谢谢.

javascript cookies jquery onclick javascript-events

3
推荐指数
1
解决办法
1万
查看次数

Jquery:.submit不工作

我和Jquery一起使用Jconfirm来制作一个确认框.
问题是.submit不起作用

使用Javascript

$('#delete').submit(function(e) {
e.preventDefault();
jConfirm("Are you sure you want to delete this link?", "Confirmation", function(r) {  
if (r) { $('#delete').submit(); }
});
Run Code Online (Sandbox Code Playgroud)

$('#delete').submit(); 好像死了.

HTML

<form action="bla.php" method="post" accept-charset="utf-8" id="delete">
 <table>
<tr>
<td><label for="category">Category:</label></td><td><select name="category_id"           id="categories">
<option value="1">test</option>
<option value="#" selected="selected">Please select</option>
</select></td>
</tr>
<tr>
<td><label for="links">Link:</label></td><td width="400"><select name="link_id" id="links">
<option value="#" selected="selected">Please select</option>
</select></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Delete" ></td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery javascript-events

3
推荐指数
1
解决办法
3027
查看次数

什么是"javascript:"用于,是否符合要求?

什么是javascript:用于,是否合规,我应该使用它吗?

我注意到我的一些同事选择使用

javascript: 
Run Code Online (Sandbox Code Playgroud)

后跟一些函数名称或一些javascript代码.但对我来说似乎没必要.

我在事件处理程序中看到了很多这样的东西

onclick="javascript: somefunction451();"
Run Code Online (Sandbox Code Playgroud)

此外,我无法搜索有关javascript的更多信息:因为它说我正在尝试跨站点脚本.特别是如果我把它粘在引号中.这件事根本无法修复吗?我应该只在闪存或仅银光浏览器中搜索吗?

javascript javascript-events

3
推荐指数
1
解决办法
517
查看次数