草庐IT

事件传递

全部标签

javascript - 告诉我的库函数的用户传递的变量类型不正确的最佳方法是什么

我目前正在创建一个javascript函数库。主要供我自己使用,但您永远无法确定其他人是否最终会在他们的项目中使用它,我至少在创建它时就好像那会发生一样。大多数方法只有在传递的变量具有正确的数据类型时才有效。现在我的问题是:提醒用户变量类型不正确的最佳方式是什么?应该抛出这样的错误吗?functionfoo(thisShouldBeAString){//justpretendthatthisisamethodandnotaglobalfunctionif(typeof(thisShouldBeAString)==='string'){throw('foo(var),varshouldb

javascript - 数据如何传递给 JavaScript 中的匿名函数?

当我像这样将“this”传递给匿名函数时:MyClass.prototype.trigger=function(){window.setTimeout(function(){this.onTimeout();},1000);}我收到“this.onTimeout不是函数”错误。我猜想在匿名函数执行时“this”不再可用?所以我一直在这样做:MyClass.prototype.trigger=function(){varme=thiswindow.setTimeout(function(){me.onTimeout();},1000);}这真的是您应该做的事情吗?它有点管用,但感觉很奇怪

javascript - Dojo,如何在 DIV 上执行 onclick 事件

互联网上有一个淡出样本..http://docs.dojocampus.org/dojo/fadeOut?t=tundra但我想做点不一样的..我希望人们直接点击文本然后文本会淡出。在我的代码中有一个div包装文本代码如下所示,我想要的是,当人们点击textDiv中的任意位置时,然后整个textDiv将消失..嗯.....为什么我的代码不起作用???functionwhenClickAnyWhereWithinThisDiv_performFadeOut(){......dojo.connect(dijit.byId('textDiv'),"onClick",fadeOutAndRem

javascript - 如何在javascript中通过引用传递变量?从返回多个值的 ActiveX 函数中读取数据

我有一个ActiveX对象,我想在浏览器(javascript)中使用它。我想调用一个函数。它的原型(prototype)是:functionTOPOSFiscalPrinter.DirectIO(Command:Integer;varpData:Integer;varpString:WideString):Integer;因此,该函数返回三个值:resultcode、pData和pString;在javascript中,该函数不会更新变量pData和pString;functiontest(){vard=1,s="DIRECIO:";varcode=opos.DirectIO(102

javascript - 在移动网站中处理 iPhone 事件(如向左滑动)

iPhone浏览器是否有我可以使用Javascript连接的特殊事件?例如,如果用户向左滑动,我想执行某个操作。如果有这样的事件可用,很高兴看到所有这些事件的引用。理想情况下,有一天会出现适用于所有触摸屏移动浏览器的标准。 最佳答案 您可以访问多点触控事件和手势,但您可能需要自己处理大量的底层管道。这是Apple的指南:https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/Handl

javascript - 将参数传递给javascript中的原型(prototype)函数

我最近一直在尝试使用javascript进行原型(prototype)设计,但我不明白为什么以下代码不起作用。我想做的是用参数n创建一个新的cheese实例。functionfood(n){this.n=n;}functioncheese(n){alert(this.n);}cheese.prototype=newfood;newcheese('paramesian'); 最佳答案 您正在创建一个新的Cheese实例,并且参数n从未被使用或分配给Cheese实例变量this.n,因为该逻辑仅用于Food构造函数。你可以做几件事:1。

javascript - 多个 onbeforeunload() 和 onunload() 事件

我有一个来自客户的奇怪问题,他们包含的代码使用onbeforeunload()来触发对话框,但他们还包含另一个公司代码,该代码也绑定(bind)了此事件处理程序。有没有可能两者同时执行?我一直在读这个,http://oreilly.com/catalog/9780596101992“JavaScript:权威指南,第五版”试图帮助更好地理解浏览器内部和Javascript堆栈中发生的事情,但事实证明它相当费脑筋。我从书中了解到,如果使用Level2APIaddEventListener()附加某些事件,则它们可以同时执行,但顺序将取决于浏览器。但是没有提到onbeforeunload(

javascript - 向 iFrame 中的项目添加事件监听器?

给定一个带有的iframe整个iframe...是否可以使用jQuery添加事件监听器,以便在用户将鼠标移到.fineme上时随时触发警报在iframe中,从顶部/父窗口? 最佳答案 参见http://api.jquery.com/contents/用于访问iframe的内容文档。您的问题的解决方案可能是:$("iframe#name").contents().find(".fineme").bind("mouseover",function(){alert("Foundme");});

javascript - Openlayers 和捕获拖动事件

我正在使用OpenLayers,我需要能够区分map何时被我自己的脚本或用户移动。是的,我知道我可以使用moveend。但它也会在同一脚本根据来自ajax调用的传入数据移动或重新定位map时触发。所以moveend或其他map事件将不起作用。我做了一些谷歌搜索并找到了OpenLayers.Hander.Drag。但我用它所做的一切就是阻止用户拖动map。我的脚本:this.dragger=newOpenLayers.Handler.Drag('',{'dragStart':function(evt){this.userdragged=true;console.log('drag');}

javascript - 删除 twitter.com 上的 J 和 K 键事件

我构建了一个扩展twitter.com的浏览器扩展。它打开一个jQueryUI模式窗口,并有一些文本输入。当我输入这些输入时,它起作用了,除了J和K键。这些键是某些自定义Twitter事件的一部分(在推文之间滚动)。除了这两个之外,我可以获得将字母实际键入框中的所有键。我想知道如何取消绑定(bind)这两个键的keypress东西,以便我可以输入这两个字母。关于如何解除绑定(bind)的任何想法?我已经trycatch事件并阻止其默认设置...没有帮助。我已经捕获它并返回真/假,也没有帮助。请告诉我。 最佳答案 这听起来与我遇到的问