标签: jquery-events

使用jQuery检查是否加载了图像(没有错误)

我正在使用JavaScript与jQuery库来操作无序列表中包含的图像缩略图.当图像被加载时,它会做一件事,当发生错误时它会做其他事情.我正在使用jQuery load()和error()方法作为事件.在这些事件之后,我检查.complete的图像DOM元素,以确保在jQuery注册事件之前图像尚未加载.

它正常工作,除非在jQuery注册事件之前发生错误.我能想到的唯一解决方案是使用img onerror属性在全局某个地方(或在它自己的节点上)存储一个"标志",表示它失败,因此jQuery可以在检查.complete时检查"存储/节点".

谁有更好的解决方案?

编辑:粗体主要点并在下面添加额外的细节: 我正在检查图像是否完整(也称为加载)我在图像上添加加载和错误事件后.这样,如果在事件被注册之前加载了图像,我仍然会知道.如果在事件之后未加载图像,则事件将在事件发生时进行处理.这个问题是,我可以很容易地检查图像是否已经加载,但我无法判断是否发生了错误.

javascript jquery dom image jquery-events

215
推荐指数
7
解决办法
29万
查看次数

直接与委派 - jQuery .on()

我试图理解使用jQuery .on()方法直接委托事件处理程序之间的这种特殊区别.具体而言,本段最后一句:

selector被提供时,事件处理程序被称为委托.当事件直接发生在绑定元素上时,不会调用处理程序,但仅适用于与选择器匹配的后代(内部元素).jQuery将事件从事件目标起泡到附加处理程序的元素(即最里面到最外层的元素),并为匹配选择器的路径上的任何元素运行处理程序.

"运行任何元素的处理程序"是什么意思?我做了一个测试页面来试验这个概念.但是以下两个结构导致了相同的行为:

$("div#target span.green").on("click", function() {
   alert($(this).attr("class") + " is clicked");
});
Run Code Online (Sandbox Code Playgroud)

要么,

$("div#target").on("click", "span.green", function() {
   alert($(this).attr("class") + " is clicked");
});
Run Code Online (Sandbox Code Playgroud)

也许有人可以参考一个不同的例子来澄清这一点?谢谢.

javascript jquery event-bubbling event-binding jquery-events

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

如何在使用event.preventDefault()后触发事件

我想举办一个活动,直到我准备开火,例如

$('.button').live('click', function(e){

   e.preventDefault(); 

   // do lots of stuff

   e.run() //this proceeds with the normal event    

}
Run Code Online (Sandbox Code Playgroud)

是否有与上述run()功能相同的功能?

jquery jquery-events

138
推荐指数
7
解决办法
17万
查看次数

按键后jQuery获取输入值

我有以下功能:

$(document).ready(function() {
    $("#dSuggest").keypress(function() {
        var dInput = $('input:text[name=dSuggest]').val();
        console.log(dInput);
        $(".dDimension:contains('" + dInput + "')").css("display","block");
    });
});
Run Code Online (Sandbox Code Playgroud)

出于某种原因,对于第一个按键,我得到一个空字符串到控制台日志.

jquery jquery-events

120
推荐指数
5
解决办法
22万
查看次数

长期在JavaScript?

是否可以在JavaScript(或jQuery)中实现"长按"?怎么样?

alt text http://androinica.com/wp-content/uploads/2009/11/longpress_options.png

HTML

<a href="" title="">Long press</a>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$("a").mouseup(function(){
  // Clear timeout
  return false;
}).mousedown(function(){
  // Set timeout
  return false; 
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui jquery-mobile jquery-events

111
推荐指数
9
解决办法
14万
查看次数

如何检测跨浏览器的在线/离线事件?

我正在尝试使用HTML5在线和离线事件准确地检测浏览器何时脱机.

这是我的代码:

<script>
    // FIREFOX
    $(window).bind("online", applicationBackOnline); 
    $(window).bind("offline", applicationOffline);

    //IE
    window.onload = function() {
        document.body.ononline = IeConnectionEvent;
        document.body.onoffline = IeConnectionEvent;
    } 
</script>
Run Code Online (Sandbox Code Playgroud)

当我在Firefox或IE上点击"脱机工作"时,它工作正常,但是当我实际拔掉电线时它会随机工作.

检测此变化的最佳方法是什么?我想避免重复带有超时的ajax调用.

javascript jquery offline network-connection jquery-events

105
推荐指数
8
解决办法
11万
查看次数

如何区分单击事件和双击事件?

我有一个带有id的li按钮"my_id".我single click用这个元素附加了 事件

1.

$("#my_id").click(function() { 
    alert('single click');
});
Run Code Online (Sandbox Code Playgroud)

2.

$("#my_id").dblclick(function() {
    alert('double click');
});
Run Code Online (Sandbox Code Playgroud)

但每次它都给了我 "my_id"

javascript jquery jquery-events

102
推荐指数
11
解决办法
13万
查看次数

jQuery scroll()检测用户何时停止滚动

好的,这个..

$(window).scroll(function()
{
    $('.slides_layover').removeClass('showing_layover');
    $('#slides_effect').show();
});
Run Code Online (Sandbox Code Playgroud)

我可以告诉别人什么时候滚动我的理解.因此,我试图找出当有人停下来时如何捕捉.从上面的示例中,您可以看到我正在滚动时从一组元素中删除一个类.但是,我想在用户停止滚动时重新启用该类.

这样做的原因是我打算在页面滚动时进行一个停留显示,以使页面具有我试图处理的特殊效果.但是我试图在滚动时删除的一个类与该效果冲突,因为它对某些性质具有透明效果.

javascript jquery scroll jquery-events

102
推荐指数
5
解决办法
19万
查看次数

如何用JQuery删除"onclick"?

PHP代码:

<a id="a$id" onclick="check($id,1)" href="javascript:void(0)"  class="black">Qualify</a>
Run Code Online (Sandbox Code Playgroud)

我想删除onclick="check($id,1)所以无法点击链接或" check($id,1)不会被解雇.我怎么能用JQuery做到这一点?

jquery attributes event-handling jquery-events

91
推荐指数
6
解决办法
22万
查看次数

如何在Ajax加载的内容上绑定事件?

我有一个链接,myLink应该将加载AJAX的内容插入到div我的HTML页面的(attachedContainer)中.问题是click我绑定到jQuery 的事件没有在插入到additionalContainer中的新加载的内容上执行.该click事件绑定在未加载我的AJAX函数的DOM元素上.

我需要改变什么,以便事件受到约束?

我的HTML:

<a class="LoadFromAjax" href="someurl">Load Ajax</a>
<div class="appendedContainer"></div>
Run Code Online (Sandbox Code Playgroud)

我的JavaScript:

$(".LoadFromAjax").on("click", function(event) {
    event.preventDefault();
    var url = $(this).attr("href"),
        appendedContainer = $(".appendedContainer");

    $.ajax({
    url: url,
    type : 'get',
    complete : function( qXHR, textStatus ) {           
        if (textStatus === 'success') {
            var data = qXHR.responseText
            appendedContainer.hide();
            appendedContainer.append(data);
            appendedContainer.fadeIn();
        }
      }
    });

});

$(".mylink").on("click", function(event) { alert("new link clicked!");});
Run Code Online (Sandbox Code Playgroud)

要加载的内容:

<div>some content</div>
<a class="mylink" href="otherurl">Link</a>
Run Code Online (Sandbox Code Playgroud)

html javascript ajax jquery jquery-events

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