小编Nic*_*ick的帖子

Crockford的深化方法 - The Good Parts的第41页

在自我改进方面,我正在阅读(并重读)SeñorCrockford的TGP.但是,我不能理解他的深化方法的最中间部分.

...
return this.replace(...,
    function (a, b) {
       var r = ...
    }
);
Run Code Online (Sandbox Code Playgroud)

我想我明白了:

  1. this.replace传递两个参数,正则表达式作为搜索值和生成替换值的函数;
  2. b用于访问实体对象中的属性;
  3. 返回? r : a;位确定是按原样返回文本还是返回实体中相应属性的值.

我根本没有得到的是如何将a和b作为参数提供function (a, b).什么叫这个功能?(我知道整个事情都是自动执行的,但这对我来说并没有真正清楚.我想我在问这个函数是如何被调用的?)

如果有人有兴趣通过类似于的打击分析给予打击,我真的很感激它,我怀疑其他人也可能.

这是为方便起见的代码:

String.method('deentityify', function ( ) {
    var entity = {
        quot: '"',
        lt: '<',
        gt: '>'
    };

    return function () {
        return this.replace(
            /&([^&;]+);/g,
            function (a, b) {
                var r = entity[b];
                return typeof r === 'string' ? r : a;
            }
        );
    };
}()); 
Run Code Online (Sandbox Code Playgroud)

javascript module function

4
推荐指数
2
解决办法
612
查看次数

PHP - PDO获取循环

我想我在这里失去了理智.

这是代码.(这是我为了证明这一点而实际尝试做的简化版本.)

$STH = $DBH->query("SELECT * FROM help");
$STH->setFetchMode(PDO::FETCH_ASSOC);

while($row = $STH->fetch()) {
    echo $row['text'];
    $help_text = $row['text'];
}
echo "->";
echo $help_text;
echo "<-";
Run Code Online (Sandbox Code Playgroud)

使用句柄DBH与MySQL数据库的数据库连接很好(未列出).查询工作正常.$row['text']循环内的回声可以多次正常工作.然而,$help_text之间的回声-><-什么也没做,导致-><-被显示.我希望回声显示最后一个实例$row['text'].

为什么这不起作用,拜托?!

php pdo

3
推荐指数
1
解决办法
7053
查看次数

jQuery draggable - 如果对元素应用两次会发生什么?

直到最近我才设置了这个设置,这个设置被多次调用:

                $('.rsh')
                    .draggable('destroy')                               
                    .draggable({ blah blah details });
Run Code Online (Sandbox Code Playgroud)

destroy是为了阻止多个可拖动的处理程序累积在课堂上.AJAX正在创建新元素,并且draggable对类的初始附件不会触及随后创建的元素.

但是,当我更新到jQuery UI的1.9.2版时,它开始给我这个错误:

错误:在初始化之前无法调用draggable上的方法; 试图调用方法'destroy'

所以我删除了破坏线,它很甜.除了......我怀疑我现在可能会在课堂上添加越来越多的处理程序(这就是为什么它destroy首先出现在那里).

我试过这个,但它不喜欢它:

if ($('.rsh').length) {
    $('.rsh').draggable('destroy'); 
}
Run Code Online (Sandbox Code Playgroud)

两个问题:(1)每次打开可拖动的设置线时,是否会有越来越多的处理程序附加到班级?(2)如果是这样,有关如何删除它们的任何解决方案?

javascript jquery jquery-ui-draggable

3
推荐指数
2
解决办法
3187
查看次数

Google闭包相当于jQuery $('html,body')。animate({scrollTop:800});

所讨论的代码使页面滚动动画到页面上的特定点。如标题所示,我希望Google Closure等效于以下jQuery:

$('html,body')。animate({scrollTop:800});

在此处表示html, body允许浏览器不一致,这$(document)是等效的。

我尝试了以下方法:

var anim = new goog.fx.dom.Scroll(document, [0, 0], [0, 800], 400);
anim.play();
Run Code Online (Sandbox Code Playgroud)

我也尝试过document.body

网络上没有演示程序,信息令人沮丧goog.fx.dom.Scroll

javascript jquery animation scroll google-closure

3
推荐指数
1
解决办法
1238
查看次数

jQuery UI嵌套手风琴:有可能有一个无法打开的标题吗?

我正在尝试使用UI创建嵌套导航手风琴.(那里有很多替代方法,但我想坚持使用UI.)这是我理解为真的 - 如果我错了,请纠正我:官方网站上 jQuery手风琴的基本形式是:

<div>
   <h3><a href="#">Section 1</a></h3>
   <div>
      Section 1 content
   </div>
   <h3><a href="#">Section 2</a></h3>
   <div>
      Section 2 content
   </div>
   ...
</div>
Run Code Online (Sandbox Code Playgroud)

您可以在每个部分中嵌套二级手风琴,例如,其中显示"第1部分内容":

<div class='accordion'>  
  <h3><a href="#1">1</a></h3>
  <div>
    <div class='accordion'>
      <h3><a href="#1a">1.a</a></h3>
      <div> Data from 1a</div>
      <h3><a href="#1b">1.b</a></h3>
      <div></div>
    </div>
  </div>
  <h3><a href="#2">2</a></h3>
  <div>
    <div class='accordion'>
    ...
Run Code Online (Sandbox Code Playgroud)

但是,每个标题都要打开相应的标题,<div>即使它是空的(例如#1b).是否有可能允许标题保持其有吸引力的CSS风格的形式,但只是作为一个href?

提前致谢.

jquery nested jquery-ui jquery-ui-accordion

2
推荐指数
1
解决办法
9794
查看次数

Javascript:变量范围和全局变量的邪恶

我想要好,我真的,但我看不出怎么做:)

关于如何不使用全球的任何建议将不胜感激.我们称之为全球G.

Function A 
  Builds G by AJAX

Function B
  Uses G

Function C
  Calls B
  Called by numerous event handlers attached to DOM elements (type 1)

Function D
  Calls B
  Called by numerous event handlers attached to DOM elements (type 2)
Run Code Online (Sandbox Code Playgroud)

我无法看到我如何在这里使用全局.DOM元素(类型1和2)是在与A无关的其他函数(E&F)中创建的.我不想将G添加到每个事件处理程序(因为它很大并且有很多这些事件处理程序),并且正在执行因此需要与我在这里寻求相同类型的解决方案(即将G加入E&F).

全局G,BTW,是构建其他元素所必需的数组,因为它们又由AJAX构建.

我也不相信单身人士是真正的解决方案.

谢谢.

javascript variables ajax global

2
推荐指数
1
解决办法
157
查看次数

MySQL 表 - 截断还是不截断?

我的实时(托管)数据库和开发(本地)数据库中都有一个表。我想将一堆记录放入实时表中。

我一直在做的事情如下:

  1. 使用 phpMyAdmin 将活动表的副本导出/导入回开发数据库。
  2. 使用 C 批处理文件将新数据加载到 dev 表中。
  3. 再次使用 phpMyAdmin 将更新后的开发表的副本导出/导入回实时数据库。

就目前而言,这一切都运行良好。

问题是这样的:如果活动表中的记录已被删除,步骤 1 不会将其从开发表中删除(即使您选择“用文件替换表”选项)。然后在第 3 步在实时表中重新创建该记录。

我的问题:在步骤 1 导入之前,我应该截断开发表(当然是在备份之后)吗?我的导入会将开发表上的自动增量设置为与实时表上相同的点吗?还是我要把事情搞得很糟糕?

谢谢。

编辑:这是表格。(无法更好地格式化;抱歉。)

列 - 类型 - NULL - 默认

cnumsmallint(6) 否
unumsmallint(6) 否 1
cat_subjectsmallint(2) 否
0cat_majorsmallint(2) 否
0cat_minorsmallint(2) 否
0cat_flavour char(1) 是 NULL
unmod varchar(255)否

指数:

键名类型唯一填充列基数排序规则空注释

PRIMARY BTREE 是 否 cnum 2214 A 否

mysql import truncate phpmyadmin

2
推荐指数
1
解决办法
1万
查看次数

通过拖动分隔符处理程序来调整元素大小

我希望能够上下拖动分隔线以在固定页面高度上调整分隔线上方和下方的div.这些div可能在一张表中,尽管它们不一定是.

简而言之,我希望能够模仿jsFiddle网站上发生的事情,尽管我只需要垂直调整大小.jsFiddle使用过mooTools,但我想用jQuery来做.

一个重要的复杂因素:在动态构建之前,我不会知道除法器上方div的大小,所以我不能只是设置绝对定位.

前进的最佳方式是什么?我有一种感觉,如果我不问,我只会重新发明轮子:)

[顺便说一句:有几个类似名称的问题与不起作用的jsFiddle示例有关(例如,这个).

到目前为止我用过这个:

    $('.rsh').draggable({
        axis:'y',
        drag: function (event, ui) {            
            var offsettop = ui.offset.top;
            $(this).prev().css({
                height: offsettop
            });
    });
Run Code Online (Sandbox Code Playgroud)

不用说,它还没有正常工作.

jquery resize event-handling drag

2
推荐指数
1
解决办法
6611
查看次数

Javascript / jQuery:在 contentWindow.print 之后删除 iframe

我正在使用此代码,它源于此处此处

$('#my_button').on('click', function (e) {
    var iframe = document.createElement('iframe');
    iframe.id = "my_iframe";
    iframe.onload = function() {
        var doc = iframe.contentDocument || iframe.contentWindow.document;
        doc.getElementsByTagName('body')[0].innerHTML = "<p>test123</p>";

        iframe.contentWindow.focus(); 
        iframe.contentWindow.print();

        $("#my_iframe", top.document).remove();
    };

    document.getElementsByTagName('body')[0].appendChild(iframe);
});
Run Code Online (Sandbox Code Playgroud)

没有这remove条线,它打印得很好。但是,该remove行在iframe有机会执行print(). 如何设置某种回调,以便它打印然后才删除 iframe?

谢谢。

javascript printing iframe jquery

2
推荐指数
1
解决办法
4693
查看次数

jQuery.post()如何处理Content-Disposition:attachment?

在这里略显疯狂.我正在使用jQuery.post进行Ajax调用,如下所示:

  $.post('php/print.php',{data:dS},function(res){...  },"text");
Run Code Online (Sandbox Code Playgroud)

我从print.php返回(作为测试):

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=test.doc");

echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "Testing-2-3!";
echo "</body>";
echo "</html>";
Run Code Online (Sandbox Code Playgroud)

据Firebug说,数据很好,包括标题.但是如何让浏览器(在本例中为Firefox)提示用户保存附件?

谢谢.

php jquery post document attachment

1
推荐指数
1
解决办法
3860
查看次数