Tag: 回调

Fancybox beforeLoad回调:Javascript,jQuery和引用$ this?

我不确定如何完成我想要做的事情,在开始时,它似乎很简单。 我想在将链接的内容调用到fancybox iframe之前,将’visited’类添加到点击的链接中。 Fancybox工作正常,只要我放弃beforeLoad调用。 添加后,页面只需重新加载窗口,绕过Fancybox。 我不确定我的beforeLoad函数(这里称为add_visited )是否允许使用jQuery(如在addClass ),或者我是否需要坚持直接的javaScriptfunction( element.setAttribute(“className”, “visited”) )。 这里粘贴的代码是针对jQuery的,引用了在theClicked传递的theClicked 。 所以,正如你所看到的,我也不确定如何在函数中引用$(this) 。 基本上我想从实际的$.fancybox()调用中inheritancethis 。 并且,为了清楚起见, .clinical_trial_link是应用于锚点的类。 在实际代码中,它是a.clinical_trial_link 。 为了进一步说明,我在这里阅读了几个对话,讨论了这种标记链接访问方法的相对优点。 我只是简单地使用一个类,但是在一个像这个链接很重的网站上,看到已经被点击的内容是必要的。 最后,相关页面位于: http : //pull4parkinsonsfoundation.org/clinical_trials/ 当然,js会从粘贴在这里的东西改变,因为我继续像一个带键盘的鲭鱼一样捶打。 😉 任何帮助将不胜感激,并提前感谢您在stackoverflow上所做的出色工作。 这是我多年来第一次发布问题! 这是我的代码: function add_visited(theclicked) { $(this).addClass(‘visited’); } $(document).ready(function() { $(‘.clinical_trial_link’).fancybox({ ‘beforeLoad’: add_visited($this), ‘maxWidth’: 1222, ‘maxHeight’: 1222, ‘fitToView’: true, ‘width’: ‘80%’, ‘height’: ‘90%’, ‘topRatio’: 0.2, ‘autoSize’: […]

为什么Blueimp的jQuery-File-Upload插件没有激活回调?

我正在尝试使用Blueimp的jQuery-File-Upload插件,该插件根据演示看起来很有前途。 这很容易实现: var $uploadButton = $(“#fileop-upload”);// $uploadButton.fileupload({ url : “//domain/path/to/receive-uploaded-files” }); 所选文件上传正常,无需按预期刷新页面,但当然使用这样的最小配置,用户将不会收到任何通知。 这是插件的回调会派上用场的地方。 根据文档,有两种方法可以定义回调。 例如, add事件(只要选择上传文件就会触发)可以在原始配置对象中添加,如下所示: $uploadButton.fileupload({ add : addFileListener, url : “//domain/path/to/receive-uploaded-files” }); 或者: $uploadButton.bind(“fileuploadadd”, addFileListener); 但是我发现只有第一种方法有效,第二种方法没有做任何事情。 更令人好奇的是,没有其他回调 – 特别是progress和start – 似乎无论我如何绑定它们都会解雇: $uploadButton.fileupload({ add : addFileListener, progress : progressListener, start : startListener, url : “//domain/path/to/receive-uploaded-files” }); 要么 $uploadButton.fileupload({ add : addFileListener, url : “//domain/path/to/receive-uploaded-files” […]

来自AngularJS的$ success回调函数

我正在调用控制器来获取API值。 如何在$ http方法之外传递数组? 我需要将一个数组pa[]传递给$scope.myData = pa; 。 首先,console.log(pa)打印值[10,20,30,40]。 其次,console.log(pa)清空数组[]。 JavaScript的 function Ctrl($scope, $http) { var url = “https://spreadsheets.google.com/feeds/list/0AsXjbsnPIu06dGswZUV4WX/values?alt=json-in-script&callback=angular.callbacks._0”; var pa = []; $http({ method: ‘JSONP’, url: url }).success(function (data) { for (i = 0; i < data.feed.entry.length; i++) { var entry = data.feed.entry[i]; pa.push(entry.gsx$productivity.$t); console.log(pa); //[10,20,30,40,50] } }); console.log(pa) // [] empty array $scope.myData = […]

如何在Jquery中完成for循环后触发回调函数?

我有两个函数可以调整和调整屏幕上元素的高度和宽度。 panelHeight将目标元素的高度设置为可用的屏幕高度,而panelWidth则调整元素的宽度。 我的问题: 第一个函数( panelHeight )完成后,我无法确保第二个函数( panelWidth )触发。 如果目标元素很长并且有一个滚动条,它将被panelHeight删除但如果在panelWidth触发之前没有这样做,则设置宽度将被滚动条占用的空间关闭(17px – 当宽度为时仍然存在)计算)。 所以我正在寻找一种方法,只有在完成另一个function后才能触发一个函数。 有点像回调,但我不确定谁在下面for循环中摆弄这个: panelHeight: function (from) { var self = this, o = self.options, wrap = $(‘div:jqmData(wrapper=”true”).ui-page-active’).last(), overthrow = wrap.jqmData(“scrollmode”) == “overthrow” && $(‘html’).hasClass(‘ui-splitview-mode’), blacklist = $(‘html’).hasClass(‘blacklist’), // calculationg toolbars // elements contents = TARGET_ELEMENT; if (overthrow) { for ( var i = 0; i […]

使用时,.play()之后是否可以使用jquery回调?

伙计们,我怎么播放一个mp3文件,然后在第一个完成后播放另一个? 我试过以下没有成功.. $(‘#file1)[0].play( function () { $(‘#file2)[0].play(); }); 播放音频时可以使用回调吗?

如何在Javascript中将数据返回到原始调用函数?

我有一个问题,将数据返回到我希望它返回的函数。 代码如下: function ioServer(request_data, callback) { $.ajax({ cache: false, data: “request=” + request_data, dataType: “json”, error: function(XMLHttpRequest, textStatus, errorThrown){}, success: function(response_data, textStatus){ callback(response_data); }, timeout: 5000, type: “POST”, url: “/portal/index.php/async” }); } function processRequest(command, item, properties) { var request = {}; request.command = command; request.item = item; request.properties = properties; var toServer = JSON.stringify(request); var […]

等待执行所有ajax回调的最佳解决方案

想象一下,我们必须得到ajax请求的来源。 我想在触发所有回调时执行一些操作。 除了这种方法,如何做到这一点: (function($){ var sources = [‘http://source1.com’, ‘http://source2.com’], guard = 0, someHandler = function() { if (guard != sources.length) { return; } //do some actions }; for (var idx in sources) { $.getJSON(sources[idx], function(){ guard++; someHandler(); }) } })(jQuery) 我在这里不喜欢的是,在这种情况下,我无法处理响应失败(例如,我无法设置响应的超时)和整体方法(我想应该有一种方法来使用更多的function这里编程) 有任何想法吗? 问候! UPD:感谢带有链接回调的解决方案。 我在这里找到了一个好方法:。 这是评论中提出的内容: (function hidenext(jq){ jq.eq(0).fadeOut(“fast”, function(){ (jq=jq.slice(1)).length && hidenext(jq); }); })($(‘div#bodyContent […]

多个ajax请求完成后触发回调

loadInfo: function(){ var jsonCounter = 0, room = [‘room1′,’room2′,’room3’], dates = [], prices = [] $.each(booking.rooms, function(key, room_name) { $.getJSON(‘/get_info.php?room=’+room_name, function(data) { dates[room_name] = data jsonCounter++ }) $.getJSON(‘/get_info.php?room=’+room_name+’&prices’, function(data) { prices[room_name] = data jsonCounter++ }) }) function checkIfReady() { if (jsonCounter === rooms.length * 2) { clearInterval(timer) run_the_rest_of_the_app() } } var timer = setInterval(checkIfReady, 100) […]

Jquery Chaining vs Callbacks

对于jQuery,以下两个片段的结果有什么不同。 什么? 我是否正确回调和链中的第二项都在第一个动画完成后执行? $(selector).animate({ opacity: 1 }).animate({ opacity: 0.5 }); VS $(selector).animate({ opacity: 1}, function() { $(this).animate({ opacity: 0.5 }); }); 在哪种类型的情况下,我想要使用哪一种? 如果我需要做更复杂的事情或切换到不同的选择器,我会只使用后者吗? 提前致谢。

如何在javascript中为函数添加回调

我有两个javascript函数 function one () { do something long… like writing jpgfile on disk } function two () { do something fast… like show the file } 我这样称呼它(在jQuery中) one (); two (); 因为函数二需要来自函数一的链接文件,我需要确保执行完成…所以在函数one的回调中获取函数2应该是技巧..但是如何做到这一点? 注意:我确实在这两个函数之间放了一个警报(’aaa’)让函数一个完成,它工作得很好……当警报被注释(删除)时,没有任何工作了!