Tag: javascript events

观看房产创建活动?

我需要能够确定何时创建对象(不是DOM元素 – 一个javascript对象)。 这个问题的答案有一些非常有用的代码用于创建可观察的属性,因此您可以在属性更改时触发函数。 在我的情况下,我需要在创建对象/属性时执行某些操作,而不是更改现有属性,并且我对此类事项的有限理解无法帮助我弄清楚是否或如何使用该代码在经过多次眯眼之后执行此操作。 情况是:页面加载了一堆脚本。 一些脚本创建了其他脚本所需的东西,例如: ThisStuff = (function () { // blah blah return self; } ()); 一些其他代码需要初始化此ThisStuff ,只要它可用,这可能是在DOM完成加载之后。 用户实际上并不需要ThisStuff ,因此只要脚本加载完成就可以。 所以我想按照以下几点做一些事情: $(document).ready(function() { wheneverIsAvailable(window,’ThisStuff’, function(object) { object.init(args); }) }); 我意识到这个问题有其他解决方案(更改脚本顺序,或按需加载脚本),但由于体系结构,这些很难。 所以我只对与其他解决方案相比的方式感兴趣。 如果jQuery提供了一些这样的function,那我也可以使用它。

调用Javascript函数时,如何设置自定义值“this”?

我正在使用jQuery,并且我有一个用作事件回调的函数,因此在该函数中“this”表示捕获事件的对象。 但是,有一个实例,我想从另一个函数显式调用该函数 – 在这种情况下如何设置函数中的“this”将相等? 例如: function handleEvent(event) { $(this).removeClass(“sad”).addClass(“happy”); } $(“a.sad”).click(handleEvent); // in this case, “this” is the anchor clicked function differentEvent(event) { $(“input.sad”).keydown(e) { doSomeOtherProcessing(); handleEvent(e); // in this case, “this” will be the window object // but I’d like to set it to be, say, the input in question } }

如何在全球范围内提供$(document).ready()函数?

我在这里有一个有趣的问题听起来很傻,但是这里有。 使用JQuery的ready函数我定义了一些函数,如下所示: $(function(){ var function1 = function(data){ //do something } var function2 = function(data){ //do something else } }); 出于某种原因,为了让IE呈现我正确使用的东西,必须在$(document).ready()函数中完成。 但是,一旦我从服务器端获得数据集,我就需要触发这些function。 所以我想我会做这样的事…… Object.Namespace.callFunction = function(data){ function1(data); } …放在脚本中的ready函数之外,以便我可以直接调用它。 不幸的是,我知道这不起作用,因为它看起来不合逻辑,我已经尝试过了! 我使所有这些function都是任意的,因为它与内容无关,而是概念。 我还尝试使用事件处理程序在获取数据后触发函数 – 无济于事! 在$(document).ready()全局内部创建函数的最佳方法是什么?

在jQuery 1.7+中等效的jQuery livequery插件

是否有相当于jQuery 1.7+的jQuery livequery插件? 我试图动态绑定事件,读取DOM元素应基于data- *元素绑定的事件。 Test 1 Test 2 .. etc .. 我想用类.js-test绑定所有元素,但仅限于其data-events属性中列出data-events 。 jQuery.on / live / bind / delegate都要求将事件作为参数传递。 这是找到document.ready时页面上存在的DOM元素,但是当我更新DOM(AJAX,JS等)时,我希望任何带有类.js-test新元素也可以绑定它的事件。 livequery插件(旧的,来自jQuery 1.3次)似乎允许这样,因为它简单需要一个选择器和一个函数来对抗与选择器匹配的任何东西。 谢谢

Uncaught SyntaxError:提供给RegExp构造函数’Capture’的无效标志

$(“#test_point_geck_info”) .html(“” + “”); 浏览器上的结果如下: 正在调用的函数: function PopImage(imagesrc,caption) { var PopupImageContainer = new Image(); PopupImageContainer.src = PopupImageSRC; setTimeout(“PopupImageDisplay()”,loadDelay); }

在jQuery中拖动后阻止单击事件

我有一个带有click事件的可拖动 ,没有任何拖动事件。 但是在我拖动 ,click事件将应用于 。 拖动后如何防止点击事件? $(function(){ $(‘div’).bind(‘click’, function(){ $(this).toggleClass(‘orange’); }); $(‘div’).draggable(); }); http://jsfiddle.net/prince4prodigy/aG72R/

使用JavaScript或jQuery如何检查窗口上是否存在事件?

建立 我已经将一个事件附加到’window’对象,我想通过代码检查它是否在那里。 window.addEventListener(‘beforeunload’, function(e){ /*…*/ }, false) 尝试 我已经尝试过简单的jQuery,没有运气。 我对jsFiddle有更多的尝试 。 window.beforeunload //is undefined as is window.onbeforeunload $(window).data(‘events’) //not working either 这可能吗? 关于DOM和其他元素也有类似的问题( 这里和这里 ),但我尝试过的方法都没有。

jQuery – 调用函数内联

我试图将一个变量传递给内联的jQuery函数(即:在实际链接中使用onMouseOver=”function();” (这是图像映射中的区域标记))。 只有在我将它放在$(document).ready(function(){ line之前,才会调用该函数,但这样做会导致jQuery出现各种问题。 我想要的只是一个简单的标签(例如 来启动一个包含的函数在正常的jQuery代码体内。 非常感谢您提供的任何帮助。 为了说明这一点,以下工作: function myfunction(x) { alert(x); //Alerts 2 } 但以下情况并非如此 $(document).ready(function(){ function myfunction(x) { alert(x); //Nothing happens } }

最早获得图像宽度的事件

所以我有一些糟糕的JavaScript来将图像居中,如果页面上的超过阈值宽度。 它还检查某些类尚未手动应用。 $(‘img,object’).bind(‘load’, function() { w = $(this).width(); if (w > 400 && !( $(this).hasClass(‘inlineimage’) | $(this).parent().hasClass(‘inlineimage’) )) $(this).css(‘margin’, ’10px ‘ + (parseInt((800-w)/2)-30) +’px’); }); 这是可怕的,但这背后的意义原本都很清醒。 CMS不容易指定对齐并开发它以允许这将花费大量时间远离其他作业。 客户端黑客工作。 唯一的问题是JS等待整个图像加载。 显然,这意味着在较慢的网络上,页面加载,图像开始加载,一段时间后图像会卡入到位。 丑陋。 但是一旦开始下载它,浏览器就会知道图像的宽度。 我真的很想加入这个事件,并发现这个视觉错误。 当然,如果有一种CSS方式接近这一点,我也对此持开放态度。

是否使用delegate()

是否有人能够解释为什么使用诸如此类的function $(‘#potato’).delegate(‘.frenchFry’, ‘click’, function(e){ // do something… }); 比…更好 $(‘#potato’).bind(‘click’, function(e){ if($(e.target).hasClass(‘frenchFry’){ // do something… } }); 假设大量代表团处于一个非常动态且不断变化的#potato? 是否有使用委托的速度优势(不是我能提出的任何测试)?