我正在使用JavaScript与jQuery库来操作无序列表中包含的图像缩略图.当图像被加载时,它会做一件事,当发生错误时它会做其他事情.我正在使用jQuery load()和error()方法作为事件.在这些事件之后,我检查.complete的图像DOM元素,以确保在jQuery注册事件之前图像尚未加载.
它正常工作,除非在jQuery注册事件之前发生错误.我能想到的唯一解决方案是使用img onerror属性在全局某个地方(或在它自己的节点上)存储一个"标志",表示它失败,因此jQuery可以在检查.complete时检查"存储/节点".
谁有更好的解决方案?
编辑:粗体主要点并在下面添加额外的细节: 我正在检查图像是否完整(也称为加载)我在图像上添加加载和错误事件后.这样,如果在事件被注册之前加载了图像,我仍然会知道.如果在事件之后未加载图像,则事件将在事件发生时进行处理.这个问题是,我可以很容易地检查图像是否已经加载,但我无法判断是否发生了错误.
我试图理解使用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
我想举办一个活动,直到我准备开火,例如
$('.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()功能相同的功能?
我有以下功能:
$(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)
出于某种原因,对于第一个按键,我得到一个空字符串到控制台日志.
是否可以在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) 我正在尝试使用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调用.
我有一个带有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"
好的,这个..
$(window).scroll(function()
{
$('.slides_layover').removeClass('showing_layover');
$('#slides_effect').show();
});
Run Code Online (Sandbox Code Playgroud)
我可以告诉别人什么时候滚动我的理解.因此,我试图找出当有人停下来时如何捕捉.从上面的示例中,您可以看到我正在滚动时从一组元素中删除一个类.但是,我想在用户停止滚动时重新启用该类.
这样做的原因是我打算在页面滚动时进行一个停留显示,以使页面具有我试图处理的特殊效果.但是我试图在滚动时删除的一个类与该效果冲突,因为它对某些性质具有透明效果.
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做到这一点?
我有一个链接,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) jquery ×10
jquery-events ×10
javascript ×7
ajax ×1
attributes ×1
dom ×1
html ×1
image ×1
jquery-ui ×1
offline ×1
scroll ×1