Tag: 回调

在JavaScript回调函数中设置局部变量

我对JavaScript比较陌生,我认为我知道回调函数是如何工作的,但经过几个小时的网络搜索,我仍然不明白为什么我的代码不起作用。 我正在发出一个返回字符串数组的AJAX请求。 我正在尝试将此数组设置为局部变量,但一旦执行回调函数,它似乎就会丢失它的值。 var array; $.ajax({ type: ‘GET’, url: ‘include/load_array.php’, dataType: ‘json’, success: function(data){ array = data; }, error: function(jqXHR, textStatus, errorThrown){ alert(“Error loading the data”); } }); console.debug(array); 在控制台中, array显示为未定义。 任何人都可以向我解释为什么没有设置它以及如何在回调函数中设置局部变量。

无限滚动和回调

如果这与我以前的post发生冲突,请道歉,但我非常坚持无限滚动的整个回调function,希望有人可以帮助我。 我正在使用Portfolio Slideshow Pro(http://madebyraygun.com/wordpress/plugins/portfolio-slideshow-pro/)将Wordpress与Infinite Scroll结合使用。 这就是我的无限滚动JS的样子: $(function(){ var $container = $(‘.rest-of-content’); $container.infinitescroll({ navSelector : ‘.wp-paginate’, // selector for the paged navigation nextSelector : ‘.wp-paginate li a’, // selector for the NEXT link (to page 2) itemSelector : ‘.single-fg-post’, // selector for all items you’ll retrieve bufferPX: 20, loading: { msgText: ‘Fetching more gold…’, finishedMsg: ‘We\’ve […]

在bootstrap3的模态中回调函数

我有点混淆在javascript模式的bootstrap3中触发回调函数。 在普通的jquery.post你可以这样做, $.post(‘path’, { something: something }, function(data) { console.log(data); }); 但是在bootstrap 3模式中我通过脚本激发模态,我这样做是基于我如何理解他们网站中的解释。 $(‘selector’).modal(‘show’, function() { //here comes the problem, I have a button in the modal in the html, my code //if the button was clicked inside this modal is.. $(‘#myButton’).on(‘click’, function() { console.log(“this is a try”); }); }); 但遗憾的是,如果我点击按钮,没有任何事情发生,控制台中没有记录任何内容。 如何在一个bootstrap 3模式中调用回调函数?

beforeSend in $ .getJSON

如何在$.getJSON (跨域)中使用$.getJSON回调。 更具体地说, $.getJSON调用是一个YQL服务 select * from html url =“ http://www.yahoo.com ”

使用jQuery中止JSONP ajax请求

我正在使用JSONP ajax调用来加载来自不同域的一些内容,如果用户在按钮上导致“鼠标hover”,则执行所有这些操作。 我可以将$ .ajax()调用返回捕获为xhr对象,并在每次用户导致“鼠标hover”时使用它来中止ajax请求。 但是JSONP回调函数仍然被调用,这会导致错误,我认为这是因为xhr.abort()方法不会阻止调用回调函数。 我尝试使用try {} catch(e){}围绕$ .ajax()调用,但在调用xhr.abort()方法后,错误仍在继续。 有没有办法处理该exception? 引发的exception是这样的(根据Firebug): jQuery16102234208755205157_1308941669256不是函数 而exception的内部结构是这样的: jQuery16102234208755205157_1308941669256({…来自不同域的我的json数据….})

jQuery.ajax成功回调函数未执行

我有一个JavaScript Ajax调用(jQuery.ajax),它不执行成功回调函数。 $.ajax({ url: target, contentType: ‘application/json; charset=utf-8’, type: ‘POST’, // type: ‘GET’, dataType: ‘jsonp’, error: function (xhr, status) { alert(status); }, success: function (result) { alert(“Callback done!”); // grid.dataBind(result.results); // grid.dataBind(result); } }); 我在firebug中看到,请求已发布,并且按照预期返回了json方面的正确结果。 怎么了?

懒加载google maps api v3 jQuery回调

我懒得加载谷歌地图api v3 javascript 该文档说明了如何在脚本加载时将作为函数名称的回调参数作为回调参数执行。 $(document).ready(function(){ var s = document.createElement(“script”); s.type = “text/javascript”; s.src = “http://maps.google.com/maps/api/js?v=3&sensor=true&callback=gmap_draw”; $(“head”).append(s); }); 所以我必须定义gmap_draw()函数。 当我将此函数包含在domready块中时,它是不可见的。 这个问题的任何变通方法? (除了将function放在domready块之外)

如何将参数传递给jQuery $ .getJSON回调方法?

我正在尝试使用jQuery通过Ajax/$.getJSON调用一些自定义API。 我正在尝试将自定义值传递给Ajax回调方法,但该值未被传递并且实际上被覆盖。 这是我的代码: var locationType = 3; var url = ‘blah blah blah’ + ‘&locationType=’ + locationType; $(“#loading_status”).show(); $.getJSON(url, null, function(results, locationType) { searchResults(results, locationType) }); 在使用AJAX调用URL之前, locationType的值为3 。 但是在调用成功返回数据之后, locationType的值现在success 。 这是因为回调的方法签名是: callback(data,textStatus)如果请求成功则执行的回调函数。 如何将一个或多个参数传递给回调方法?

YouTube(注入)video结束回拨

我将YouTube iframe注入文档中的div并将其绑定到click: jQuery(document).ready(function($) { jQuery(‘.video-thumb’).click(function(){ … $(‘#player’).html(”); … } } 我希望在video结束时进行回调。 我已经阅读了关于onYouTubePlayerAPIReady ,但它必须放在文件外面。 我试图通过这种结构加载video播放器,准备好文件: var player; function onYouTubePlayerAPIReady() { player = new YT.Player(‘player’, { height: ‘421’, width: ‘761’, videoId: ”, playerVars: { autoplay: 1, autohide: 1, showinfo: 0 }, events: { ‘onReady’: onPlayerReady, ‘onStateChange’: onPlayerStateChange } }); } 但我遇到了一些问题: showinfo:0不起作用,最后还有其他video缩略图 我不知道如何更改videoID(并重新启动video?) 比第一种方法更多的脚本错误(注入iframe) 我更喜欢使用第一种方法,但如何创建video结束回调? 谢谢。

JavaScript函数执行得太快了

在下面的示例中, myFonk立即被调用; 它不会等待click事件。 为什么不? function myFonk(info) { $(“#result”).html(info); } function getText(text) { return function () { myFonk(text); } } $(document).ready(function () { $(“#b1”).click(getText(“getText”)); $(“#b2”).click(myFonk(“myFonk”)); });