无法将谷歌地理编码的返回值存储到全局/外部(javascript)变量( latlng1 ,在下列情况下)….也许是因为变量在地理编码完成之前获取其值… 对于下面的代码: alert((‘latlon=’+latlng1); //shows undefined 但, alert(‘got value = ‘+latLng); //gives the coorect value 那么,如何在将变量分配给变量之前等待地理编码返回非空值? 这会解决问题吗? 或者代码中还有其他缺陷吗? 除此之外,代码的所有部分都可以正常工作(如下面的代码中的注释所述); 我看到标记也正确地放在地图上; 这是我的代码: – $(some_element).click(function() { var input = document.getElementById(some_input_element).vlaue ; var get_geocodes = function get_value(latLng) { alert(‘got value = ‘+latLng); //gives the coorect value if (latLng == null){ geocode(input, get_geocodes)} return latLng; } latlng1 = […]
根据ajax返回的内容(1或0),我希望是否处理提交操作: $(document).ready(function(){ $(“#submit”).submit(function(e){ e.preventDefault(); var username = $(“#username”).val(); if(username){ $.ajax({ url: ‘checkinput.php’, data: {data: JSON.stringify(username)}, type: ‘POST’, dataType: “json”, success: function (data) { if(data.result == 0) { alertify.log( data.error ); // diplay error } if(data.result == 1) { $(“#submit”).submit(); // process submit-action => send data to php etc.. } } }); } else { alertify.log( […]
我正在使用jquery的ajax方法将一些数据发布到服务器并获取响应。 虽然服务器端php代码返回一个json编码的字符串/数组,但响应将返回null。 有人可以指出我正在犯的错误。 下面如果我的jquery ajax方法使用哪个我正在点击postData.php页面。 $.ajax({ url:’postData.php’, type:’POST’, data:data, dataType: “json”, success: function(response){ console.log(response); } }); postData.php中的内容非常简单,因为我还在开发它。 $data = array(); //inside postData.php $data[‘test’]=1; return json_encode($data); 它应该返回一个json字符串,但它返回null。 我也尝试在$ data数组声明之后回显一个字符串,它确实在firebug中回显它,但响应是当我在成功回调上执行console.log时,它返回为null。
我需要动态显示用户输入的路径的名称和拆分路径。 为此,我拆分了用户输入的路径并仅抓取其中的某些部分。 例如,如果用户输入路径为: /content/mypath/myfolder/about/images/abc.jpg然后我正在显示images / abc.jpg。 但是,假设用户只输入名称而不输入路径,在这种情况下至少应该应用和显示名称。 但每次进入路径时它都会显示0。 我该如何解决? $(document).ready(function(){ $(‘#getData’).click(function(){ var name = $(‘#name’).val(); var imgPath = $(‘#imgPath’).val(); var newPath = imgPath.match(/images\/.*$/i); $(‘.container’).append( $(”).text(name), $(”).text(function(imgPath){ return newPath ? imgPath : $(‘#imgPath’).val(); }) ); //console.log(slicedPath); }); }); Name: Image path: Click
我想了解更多有关jquery自定义事件的知识,所以我已经制作了这个简单的代码来进行测试: Jquery custom events $(function(){ $(‘#link1’).click(function(){ var that = $(this); $.ajax({ url: “http://localhost/jquery/index.html”, beforeSend: function(event){ // if returned false, stops ajax request return that.trigger(‘ajax:beforesend’,[{p1: ‘1’},{p2: ‘2’}]); }, success: function(){ that.trigger(‘ajax:success’); }, error: function(){ } }); return false; }); $(‘#link1’).bind(‘ajax:beforesend’,function(e,data,data2){ alert(“success”+data2.p2); return false; }); $(‘#link1’).bind(‘ajax:success’,function(e){ alert(“success”); }); }); link1 result 我的问题是:在beforesend函数中,如果触发的自定义事件的结果为false但是不工作,我想中止ajax请求,我缺少什么? 编辑:请不要专注于beforesendfunction。 我真正想要的是如何将自定义事件结果(例如true或false)返回到调用事件的位置(在这种情况下,在发送函数之前)。 正如我所说,这只是样板代码。 不是真实世界的项目。
我正在处理图像幻灯片并启用触摸function。 我是通过使用本文中提到的代码片段来完成此操作的: http : //blog.safaribooksonline.com/2012/04/18/mapping-mouse-events-and-touch-events-onto-a-single-event / 作者提到,通过使用触发事件触发规范化事件的代码,X和Y坐标的访问变得更加容易。 这正是我发现的困难。 我似乎无法访问这些值。 我已经尝试了所有可以想到的东西。 这是代码: http : //jsfiddle.net/BC8dr/3/ normalizeEvent: function normalizeEvent(type, original, x, y){ return jQuery.Event(type, { pageX: x, pageY: y, originalEvent: original }); } 在代码的底部,我评论了我不能访问的地方: jQuery(current_slide).bind(TouchMouseEvent.DOWN, onDownEvent); function onDownEvent(e){ // This is where I need X and Y coordinate access // This will return result: undefined var x […]
以下function的目的是访问Yahoo服务器上的脚本并查找实时货币转换率,该转换率随后将用于处理客户的购买。 我能够访问JavaScript警报中的速率,但我似乎无法将它们返回到最初调用getRate()函数的Jquery方法。 我试过一个标准的return rate; 在parseExchangeRate()函数的末尾,它不起作用。 我也尝试在parseExchangeRate() rate设置为全局变量,但这也不起作用。 function getRate(from, to) { var script = document.createElement(‘script’); script.setAttribute(‘src’, “http://query.yahooapis.com/v1/public/yql?q=select%20rate%2Cname%20from%20csv%20where%20url%3D’http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes%3Fs%3D”+from+to+”%253DX%26f%3Dl1n’%20and%20columns%3D’rate%2Cname’&format=json&callback=parseExchangeRate”); document.body.appendChild(script); } function parseExchangeRate(data) { var name = data.query.results.row.name; rate = parseFloat(data.query.results.row.rate, 10); alert(“Exchange rate ” + name + ” is ” + rate); } $(function() { getRate(‘USD’, ‘PHP’); xRatePHP = rate; /* Do stuff with rate */ […]
嗨,我正在调用此函数: function getCoordenadas() { var coordenadas = new Array(); $.post( ‘baseUrl(‘user/parse-kml’)?>’, { kmlName: “esta_chica.kml”}, function(jsonCoord) { jQuery.each(jsonCoord, function(i, val) { var latlng = val.split(‘,’); coordenadas.push(new google.maps.LatLng(latlng[0], latlng[1])); }); }, ‘json’ ); return coordenadas; } 像这样: $(document).ready(function(){ $(‘.caller’).click(function() { console.log(getCoordenadas()); }); }); 所以当你点击.caller时它会调用函数获取数据正确填充数组,但是console.log(getCoordenadas()); 输出[]。 如果我从函数范围移动数组声明(var coordenadas = new Array();)以使其成为全局,当我第一次单击.caller时,console.log(getCoordenadas()); 输出[],但第二次正确输出数组。 有任何想法吗? 提前致谢
在这个随机的英语 – 维基百科编辑页面中,可以添加一些内容(比如“测试”),然后通过Alt + Shift + S的预先存在的键组合保存它。 我希望特别防止这种行为(不用document.querySelector(“#wpSave”).remove();保存按钮document.querySelector(“#wpSave”).remove(); )。 我尝试了以下失败的代码: // ==UserScript== // @name wiki // @match https://*.wikipedia.org/* // ==/UserScript== document.addEventListener(“DOMContentLoaded”, ()=>{ document.addEventListener(‘keypress’, function(e) { if (e.key == 16 && e.key == 18 && e.key == 83) { return false; } }); }); 我也尝试用e.preventDefault()或evt.stopPropagation()替换return false ,但都失败了(没有控制台错误)。 代码有什么问题? 注意:这个问题与此问题的不同之处在于通常侧重于禁用给定的预先存在的键组合function,而不是一般地保存function 。 dotoconor的更新 我在控制台中使用了这个,但我仍然遇到同样的问题: document.addEventListener(“DOMContentLoaded”, ()=>{ const state […]
我试过了sweeAlert插件,它运行得很好,但是在确认后我无法弄清楚如何做默认的东西。 $(document).ready(function () { function handleDelete(e){ e.preventDefault(); swal({ title: “Are you sure?”, text: “You will not be able to recover the delaer again!”, type: “warning”, showCancelButton: true, confirmButtonColor: “#DD6B55”, confirmButtonText: “Yes, delete!”, closeOnConfirm: false }, function (isConfirm) { if (isConfirm) { return true; } }); }; }); 和按钮 id_dealers}” class=”delete” onclick”handleDelete(event);”> //https://stackoverflow.com/questions/30418718/sweetalert-preventdefault-and-return-true/{plink delete! $row->id_dealers} Nette […]