javascript - $.getScript 在点击函数中不起作用

标签 javascript jquery

我不知道为什么 $getScript 不能在 Firefox 浏览器的点击功能中工作,但可以在其他浏览器上工作。 click 函数之外的相同代码也适用于 Firefox。有人可以解释一下问题是什么吗?

 <script type="text/javascript">
    var page = "";
    page = window.location.href;
        jQuery(document).ready(function($){
             $( "#socialemail" ).click(function() {
                $.getScript('/social-media.php?email&' + page);
                window.location.href="mailto:?subject=text here Systems&body="+escape(window.location.href);
             });  
       });    
    </script>

最佳答案

由于 $.getScript() 是异步的,并且我希望您想要等待它的结果,因此您应该执行以下 window.location.href 属性更改在传递给 $.getScript() 的回调函数中。类似的东西

var page = "";
page = window.location.href;
    jQuery(document).ready(function($){
         $( "#socialemail" ).click(function(e) {
            // prevent the default action of clicking on whatever element
            // with id 'socialemail' is
            e.preventDefault();

            $.getScript('/social-media.php?email&' + page, function () { 
                // run this after the script has been fetched
                window.location.href="mailto:?subject=text here Systems&body="+encodeURIComponent(window.location.href);
            });
         });  
   });   

关于javascript - $.getScript 在点击函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397710/

相关文章:

jquery - Bootstrap 弹出窗口在第一个 mouseenter 事件上不起作用

jquery - 只要光标悬停就显示淡入淡出元素

javascript - ngFor 项目 Angular 8 的动态 routerLink 值

javascript - 可以扩展 Angular JS 1.2.18 $log 功能吗?

javascript - 从字符串中取出单词并转换为数组

jQuery ui - 克隆代码不响应排序

javascript - chrome/firefox- 如何运行 javascript 命令

javascript - Angularjs 周围有哪些工具/项目/集成?

javascript - 如何正确呈现 AJAX POST MVC 4 的返回

javascript - 使用jquery删除后面的特定字符和数字