小编Hri*_*sto的帖子

我该如何为一堆对象生成唯一ID?

我具有由阵列很多Symbol对象:

var symbols = {
    alpha : new Symbol('alpha', 'symbol_0', '&#x03B1', 'GreekSymbol'),
    beta : new Symbol('beta', 'symbol_1', '&#x03B2', 'GreekSymbol'),
    gamma : new Symbol('gamma', 'symbol_2', '&#x03B3', 'GreekSymbol'),
    delta : new Symbol('delta', 'symbol_3', '&#x03B4', 'GreekSymbol'),

    ... about 500 of these different types of symbols...
};
Run Code Online (Sandbox Code Playgroud)

Symbol对象的第二个参数是将在HTML中使用的ID.由于HTML规范不允许重复ID,我想为每个SymbolID 分配一个唯一ID,并且仍然能够知道此ID对应于a Symbol.所以我喜欢具有的想法symbol_前缀,但我不喜欢的手工输入出出主意symbol_0通过symbol_500.

我该如何生成唯一ID?当我声明上述数组时,我可以自动执行此过程并生成唯一ID吗?

更新
这个客户端实际上是一个好主意吗?

javascript uniqueidentifier auto-generate

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

我如何使用jQuery.Deferred对象等待异步函数调用完成?

我在表单中使用Plupload文件上传器.我想自定义它,以便在提交表单时,即单击"提交"按钮时,首先发生的是文件上载,然后是表单的提交.

据我所知,我可能错了,但似乎调用uploader.start()是异步函数调用.因此,目前,上传将开始,表单将在文件上传之前提交.问题是我无法控制这个函数调用.

我最近读到了关于jQuery 1.5新版本和新的Deferred Object,看起来这有可能帮助我解决这个问题.有没有办法等待异步函数调用完成其工作,然后在调用后继续执行代码.所以我正在寻找类似下面的伪代码...

var uploader = $('#plupload_container').pluploadQueue();

$('#submitButton').click(function() {

   // if there are files to be uploaded, do it
   if (uploader.files.length > 0) {

      // make the call and wait for the uploader to finish
      uploader.start();
      while ( the uploading is not done ) {
         wait for the uploader to finish
      }

      // continue with submission
   }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法"等待" uploader.start()完成,基本上在click事件处理程序上暂停,以便可以先上载所有文件,然后其余的click事件处理程序可以完成执行?我尝试了以下内容,但在文件上传之前打印了"完成"...

$.when(uploader.start()).then(function () {
   console.log("done")
});
Run Code Online (Sandbox Code Playgroud)

另一个有用的信息...我可以将某些事件绑定到此uploader …

ajax jquery plupload jquery-deferred

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

如何设置本地Git存储库和本地备份目录?

UPDATE

我按照以下答案之一的说明设置了两个Git存储库,但备份目录没有工作目录中的文件副本.这是我在备份目录中看到的...

$ ls
total 0
drwxr-xr-x  10 Hristo  staff  340 Feb 25 21:40 Kamma.git
Run Code Online (Sandbox Code Playgroud)

......但我期待以下的东西......

$ ls
total 16
drwxr-xr-x   6 Hristo  staff   204 Dec 19 19:51 css
drwxr-xr-x   3 Hristo  staff   102 Nov 13 18:00 images
-rw-r--r--@  1 Hristo  staff  4440 Feb 26 03:20 index.html
drwxr-xr-x  15 Hristo  staff   510 Feb 24 14:19 js
Run Code Online (Sandbox Code Playgroud)

同样,我希望我的主要工作目录/Users/Hristo/Sites/Kamma是我进行更改并进行提交和还原等的地方.

我希望/Users/Hristo/Sites/Kamma_bak成为我定期推送重要更改的地方,例如我的项目的新版本,其中所有内容都是我的工作目录的副本,而不是最新的副本.

我希望这是有道理的.


原帖

我想建立一个本地Git存储库.所以,例如,我希望我的主要位置/Users/Hristo/Sites/Kamma是我将完成所有工作的地方.

我希望能够提交更改并恢复到以前的版本等...,颠倒的工作方式.但我还希望有一个备份目录,/Users/Hristo/Sites/Kamma_bak作为故障保险,我会偶尔"推"版本.

在这个备份目录中/Users/Hristo/Sites/Kamma_bak,我希望所有文件等作为工作目录的副本副本,作为备份副本存在/Users/Hristo/Sites/Kamma

我如何用Git做到这一点?我已经在我的机器上安装了它,运行Snow Leopard.

git backup local repository

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

Stringbuilder对象在哪里创建?

字符串是不可变的,因为它们存储在常量字符串池中.那么,stringbuilder对象在哪里创建?说,我创建了两个字符串构建器对象

StringBuilder s1 = new StringBuilder("abc");  
StringBuilder s2 = new StringBuilder("abc");
Run Code Online (Sandbox Code Playgroud)

我最终会在堆内存中有两个独立的对象,它们都包含值"abc"?

java string

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

使用fold_left/right反转OCaml中的列表

更新 - 解决方案

感谢jacobm的帮助,我想出了一个解决方案.

// Folding Recursion
let reverse_list_3 theList = 
    List.fold_left (fun element recursive_call -> recursive_call::element) [] theList;;
Run Code Online (Sandbox Code Playgroud)

我正在学习OCaml中的不同递归方式(对于类)和一些练习,我正在编写一个函数来使用不同的递归样式来反转列表.

// Forward Recursion
let rec reverse_list_forward theList =
    match theList with [] -> [] | (head::tail) -> (reverse_list_1 tail) @ [head];;

// Tail Recursion
let rec reverse_list_tail theList result =
    match theList with [] -> result | (head::tail) -> reverse_list_2 tail (head::result);;
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试使用反向函数,List.fold_left但是我被困住了,无法弄明白.如何使用折叠编写此反向功能?

另外,如果有人对函数式编程有很好的参考,不同类型的递归,高阶函数等等,链接将非常感激:)

recursion ocaml functional-programming fold higher-order-functions

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

使用.on()附加到文档时无法删除特定的事件处理程序

这是演示我的情况的简单小提琴......

http://jsfiddle.net/UnsungHero97/EM6mR/17/

我正在做的是使用添加当前和未来元素的事件处理程序.on().我希望能够在发生某些事情时为特定元素删除这些事件处理程序; 在小提琴的情况下,当选择单选按钮时,应删除蓝色元素的事件处理程序,并且单击这些元素不应再执行任何操作.

它似乎没有工作:(

如何删除附加到document.on()为那些特定蓝色元素创建的事件处理程序?

jquery event-handling jquery-on

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

防止<textarea>中的空提交

我已经设置了一个<textarea>可以进行击键的功能.我设置了如果用户按Enter键,文本区域中键入的文本将被提交到数据库.

但是,我想阻止提交空文本,只需按Enter键并提交即可.我还注意到,当Enter时,会创建一个新行,所以我不能只检查文本是否为""或者它的长度是否为0,因为第二次会有一个新行.

使用键盘检测的jQuery是:

$(document).ready(function(){
    $('.active-buddy-tab div#chat-window form#chat-message textarea#message').live('keydown', function(event) {

        var key = event.which;

        // all keys including return
        if (key >= 33) {

            var maxLength = $(this).attr("maxlength");
            var length = this.value.length;

            if (length >= maxLength) {
                event.preventDefault();
            }
        }
    });

    $('.active-buddy-tab div#chat-window form#chat-message textarea#message').live('keyup', function(e) {

        if (e.keyCode == 13) {

            var text = $(this).val();
            var maxLength = $(this).attr("maxlength");
            var length = text.length;

            var to = $('.active-buddy-tab div h3 p#to').text();

            if (length <= maxLength + 1) { …
Run Code Online (Sandbox Code Playgroud)

jquery textarea

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

如何创建类似于Grooveshark的进度"栏"?

我很好奇......我将如何创建像Grooveshark一样的自定义进度条?如果您查看下面的图像,则进度条是一个鲨鱼形状的图像,并在页面加载时填充.

Grooveshark进度条

我觉得这很酷,很想知道它是如何完成的.这可以通过编程方式完成,还是在flash中完成?如果可能的话,我真的想在JavaScript(jQuery)中这样做.我/从哪里开始?

谢谢,Hristo

javascript flash jquery html5 progress-bar

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

Google没有遵循W3C标准...... whaaa?

我的一个朋友刚刚指出了一个有趣的现象......我去了谷歌主页并查看了源代码:

<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title>
...
...
...
A LOT OF STUFF HERE
...
...
...
</script>
Run Code Online (Sandbox Code Playgroud)

...所以我注意到源代码没有结束</body></html>标签.使用Chrome的Inspector,它会显示结束标记,但是当我右键单击并查看源代码时,它不在那里.

这里发生了什么?我错过了什么吗?我尝试使用W3C HTML Validator,它显示了一堆错误......

http://validator.w3.org/check?verbose=1&uri=http://www.google.com/

那么......这笔交易是什么?

html validation w3c web-standards google-search

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

Uncaught SecurityError:无法从'HTMLIFrameElement'读取'contentDocument'属性

我正在尝试制作我自己的"网站检查器"以满足特定需求,我在访问iFrame时遇到问题.

Uncaught SecurityError:无法从'HTMLIFrameElement'读取'contentDocument'属性:阻止具有原点"http:// checker.xcore.co.il"的框架访问具有原点的框架"http:// xcore.co.il ".请求访问权限的框架将"document.domain"设置为"checker.xcore.co.il",但正在访问的框架没有.两者都必须将"document.domain"设置为相同的值才能允许访问.

我必须使用iFrame这样做,因为我需要访问类CSS. 单击此链接,加载网站,然后单击右侧的"fontSizeErrors",然后您可以在控制台日志中看到错误.

我怎么能通过这个?我在Google上找不到任何有用的东西..

谢谢!

javascript iframe jquery

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