草庐IT

同时设

全部标签

javascript - 在让 JSLint 开心的同时创建一个 n 大小的数组?

JSlint不喜欢使用Array构造函数,并且没有允许它们的JSLint选项。因此,要创建一个长度为n的数组,以下是不允许的:vararr=newArray(n);下面是我解决这个问题的唯一方法吗?vararr=[];arr.length=5;在正常情况下这没什么大不了的(使用两行代码而不是一行),但我很遗憾不能使用简洁的字符串乘法器hack:functionrepeat(str,times){returnnewArray(times+1).join(str);} 最佳答案 JSLint相当容易智取。你可以这样做:functionr

javascript - 当我使用 Angular md-selected 索引频繁切换选项卡时,多个 'md-tab' 同时具有 'md-active' 类

当我频繁切换md-tabs时,Md-tabs切换正确但多个md-tab-item元素同时具有“md-active”类,所以我看不到选项卡的内容是事件的,因为它与其右侧选项卡的内容重叠。据我所知,在angular-material中,当我们选择一个选项卡时,angular首先取消选择上一个选项卡(隐藏页面上先前显示的内容)并显示所选选项卡的内容。在执行此过程时,Angular未删除以前事件选项卡的“md-active”类。这是重现该行为的fiddle。这是随机行为,并发点击时出现。请在点击“切换标签”按钮后等待1分钟jsFiddleangular.module('firstApplica

javascript - JQuery Draggable Droppable 和 Sortable 同时用于 DOM 操作

我正在尝试使用JQueryUI设置某种拖放所见即所得的编辑器。我已经成功地设置了这些元素,但是它们有一个奇怪的行为。由于不断闪烁,几乎不可能对项目进行排序。我这样设置我的可拖动对象:el.draggable({containement:'.main-form-container',revert:"invalid",connectToSortable:'.sortable'}).disableSelection();如果我不将其设置为可拖动,则sortable会将占位符放置在其自身上!为什么?有时,当一个元素被放入另一个元素时,它会变成一个可拖动的元素并且看起来粘在一起。尽管这似乎已通过

javascript - 如果突出显示一个词并且用户单击连接词,则同时突出显示

我最近发布了一个question通过以下方式寻求一种更智能地突出显示单词的方法:单击突出显示整个单词(默认行为是双击)。点击并拖动只会突出显示完整的单词/术语。漂亮的解决方案是posted阿尔曼。jsFiddle用于测试。我做这道题的目的是让用户单击两个或多个连接词并突出显示它们(扩展突出显示的范围)。演示。如果world,被光标选中:Helloworld,loremipsumattackontitan.然后用户点击lorem,它应该像这样选择两个词:Helloworld,loremipsumattackontitan.如果用户单击Hello,则行为相同。因此它只会在单词连接时扩展突出

javascript - 调用同一个函数的两个 dom 事件如果同时发生,则应该只调用该函数一次

我有一个输入和一个按钮。当我从输入模糊并且输入发生变化时,应该调用price()函数。此外,当我单击按钮时,应该调用price()函数。问题在于,当用户修改输入值并单击按钮时,price()函数被调用了两次。我不希望发生这种情况。我尝试了老式的方法,在输入时将变量“inPriceFunction”设置为true,并在输入前检查它是否未设置。这没有用,因为两个事件(模糊和点击)是在同一时间执行的,if和变量集没有时间发生。我怎样才能避免这种情况?我尝试过的:testcalled=0;functionprice(){if(called==true){return;}else{called=

javascript - 将 forEach() 与 promise 一起使用,同时在 .then() 链中访问先前的 promise 结果?

我有以下promise的功能:constajaxRequest=(url)=>{returnnewPromise(function(resolve,reject){axios.get(url).then((response)=>{//console.log(response);resolve(response);}).catch((error)=>{//console.log(error);reject();});});}constxmlParser=(xml)=>{let{data}=xml;returnnewPromise(function(resolve,reject){letp

javascript - 在 iPad Web App 上拖放 - 同时保留滚动功能

我正在使用JqueryUI拖放(http://jqueryui.com/demos/draggable)和https://github.com/furf/jquery-ui-touch-punch将触摸事件映射到鼠标事件。到目前为止,整个拖放操作都很好。我现在遇到的问题是我有一长串可拖动元素,我还需要能够在iPad上滚动列表...当我将列表元素设置为可拖动时,这将不再起作用。我尝试使用jqueryui提供的约束,例如distance和delay-但即便如此,滚动事件似乎已被拖动事件完全禁用/覆盖。我可能需要编写一个自定义函数,例如“只有向左移动至少50像素才能使其可拖动”之类的。有没有

javascript - 有没有办法让两个 jQuery 动画同时(正确地)运行?

我有一个调用两个动画Action的事件监听器。不幸的是,它们的开始有少量错开(例如,函数中的第一个首先开始)。有谁知道正确同步它们的方法吗?这是我的代码:$("#navullia").hover(function(){$(lastBlock).children("div").animate({width:"0px"},{queue:false,duration:400,easing:"swing"});$(this).children("div").animate({width:maxWidth+"px"},{queue:false,duration:400,easing:"swing

javascript - 如何防止同一用户使用 Firebase 同时登录?

我希望新session基本上“注销”任何先前的session。例如,当您在一台计算机上进行经过身份验证的session时,在另一台计算机上启动一个新session并在我们的应用程序上使用firebase进行身份验证将注销第一台计算机上的另一个session。我还没有找到任何允许我“远程”退出session的方法。我知道我可以在一个session中使用unauth()和goOffline()。但如何从同一用户的不同身份验证session中执行此操作?感谢您的帮助!背景信息:我使用简单的电子邮件/密码登录进行firebase身份验证我还没有设置安全规则,虽然这是在进行中我在Firebase

javascript - React onClick 和 onTouchStart 同时触发

我的React应用程序中有一个div,我需要处理点击和触摸。但是,当我点击手机时,它会触发这两个事件。如果我在移动设备上滑动或点击普通浏览器,它工作正常,在每种情况下只触发一个事件。如何处理这个点击问题而不触发这两个事件?  最佳答案 有一个定义的事件触发顺序(source):touchstartZeroormoretouchmoveevents,dependingonmovementofthefinger(s)touchendmousemovemousedownmouseupclick如果你想阻止click事件,如果之前