草庐IT

可编程瓦片

全部标签

javascript - 扁平化深层嵌套的 ajax 回调的编程模式?

我继承了JavaScript代码,其中Ajax处理程序的成功回调启动另一个Ajax调用,其中成功回调可能会也可能不会启动另一个Ajax调用。这导致了深度嵌套的匿名函数。也许有一种聪明的编程模式可以避免深度嵌套并且更干。此外,还有在整个函数中使用的内部变量myVar1和myVar2的问题。jQuery.extend(Application.Model.prototype,{process:function(){varmyVar1;//processingusingmyVar1;jQuery.ajax({url:myurl1,dataType:'json',success:function

javascript - 当元素以编程方式移动到鼠标下方时,不会触发 jQuery 悬停

我有一个带有悬停效果的图像(当鼠标悬停在它上面时不透明度更高)。当鼠标移入和移出时,它会按预期工作。但是,图像本身在移动(我定期更改css属性top)。当鼠标不动,图片移动到鼠标光标下时,不触发相关事件。这意味着,不会调用悬停函数。我也尝试使用mouseenter和mouseleave事件,但它们也不起作用。什么是获得所需行为的好方法(只要鼠标悬停在图像上,无论它为什么到达那里,都会产生悬停效果)? 最佳答案 如果鼠标没有移动,您将无法触发鼠标事件,但您可以在图像移动时检查鼠标的位置。您需要做的是在全局变量中跟踪鼠标位置,并检查鼠标

javascript - 使用太多 'if' 语句是不是编程不好?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我很好奇我是否使用了太多if/elseif语句。我正在使用javascript编写一个井字游戏程序,并确定计算机是否应该阻止我正在使用大约9个if语句的播放器,并且在确定是否有3个连续的语句时我使用大约9个。例如:if(r1c1V===xOrO&&r1c2V===xOrO&&r1c3V===xOrO){is3InARow=true;}elseif(r2c1V===xOrO&&r2c2V==

javascript - 我如何以编程方式更改选择,以便它触发其 onchange 行为?

这似乎不起作用:abdojo.byId('mySel').value='b';//selectchanges,butnothingisalerted(我正在使用dojo,但这并不重要。) 最佳答案 'onchange'名称有点误导,除非您了解更改事件和被更改的值不是一回事。当用户更改浏览器中的值时,会发生更改事件。不过,我相信您可以在以编程方式更改值后通过调用dojo.byId('mySel').onchange()手动触发事件。(不过,您可能需要实际定义一个调用alert的函数。我自己还没有这样做。)

javascript - 如何以编程方式将 JS 和 CSS 资源添加到 <h :head>

我需要以编程方式将JavaScript和CSS资源添加到一个JSF页面。目前尚不清楚如何实现这一目标。我该怎么做或者是否有启动示例? 最佳答案 这取决于您想在哪里声明资源。通常,以编程方式声明它们的唯一原因是您有自定义UIComponent或Renderer它生成HTML代码,而HTML代码又需要那些JS和/或CSS资源。然后它们将由@ResourceDependency声明或@ResourceDependencies.@ResourceDependency(library="mylibrary",name="foo.css")pu

javascript - 如何以编程方式打开和关闭 Angular-UI 弹出窗口

我需要创建从服务器获取内容的弹出窗口。所以我创建了以下指令:.directive('myPopover',[myService,function($myService){return{restrict:'E',transclude:true,template:'',link:function(scope,element,attrs){scope.wordClicked=function(){if(POPUPISNOTSHOWING){varmessage=myService.getMessage({key:element.text()},function(){console.info(

javascript - 以编程方式将元素拖放到另一个元素上

使用jQueryUI,是否可以使用javascript执行拖放操作?Example.单击链接时,将#pony拖放到#box中。我试过触发拖动事件,但这似乎不起作用:)$('#pony').trigger('drag',[$('#box')]); 最佳答案 这就是jQueryUI团队以编程方式触发drop事件的方式。droppable_events.js:draggable=$("#draggable1").draggable(),droppable1=$("#droppable1").droppable(config),droppa

javascript - 函数式编程和 DOM 操作

如何在以“函数式”方式编写的脚本中以最“纯粹”的方式操作DOM。例如,如果我只需要更改元素宽度,我应该使用像这样的典型语法:document.querySelector(".class").style.width=...或者编写专门的函数,比如:functionresize(el,w){returnel.style.width=w;}resize(document.querySelector(".class",100));我想,我了解函数式编程的一般概念,但我遇到的所有示例都集中在处理数字或字符串上。操作DOM被认为是副作用,所以我想知道如何以正确的方式进行操作。编辑:下面更新了代码,

javascript - 使用函数式编程复制数组的元素

我正在尝试复制数组中的每个元素,但使用的是函数式样式。我目前有这个:["a","b","c"]我得到这个:["a","a","b","b","c","c"]到目前为止,我已经尝试了以下方法,将每个元素映射到一个数组,然后使用flat()获取一维数组。有没有更干净的方法,因为感觉我在滥用map和flat。["a","b","c"].map(item=>[item,item]).flat();有更好的方法吗?我试图提供一个尽可能简单的示例,但遗漏了一些细节。实际输入未排序,因为元素不可比较。它是这样的:[{a:"a"b:"b"},{c:1d:2},{apple:{},sellers:["m

javascript - dropzone.js 以编程方式不起作用

我正在尝试以编程方式创建拖放区,但它不起作用。HTML代码:$(function(){$("div#myDropZone").dropzone({url:"/file-upload"});});DropZoneSubmitallfiles中的拖放区不是appers!最好的问候:) 最佳答案 您需要为您的#myDropZonediv提供一些宽度和高度,以便它占用空间。这是一个jsfiddle.或者,您可以将dropzone类添加到您的div以获得您在演示中看到的默认样式。这是jsfiddle为此。