我具有由阵列很多的Symbol对象:
var symbols = {
alpha : new Symbol('alpha', 'symbol_0', 'α', 'GreekSymbol'),
beta : new Symbol('beta', 'symbol_1', 'β', 'GreekSymbol'),
gamma : new Symbol('gamma', 'symbol_2', 'γ', 'GreekSymbol'),
delta : new Symbol('delta', 'symbol_3', 'δ', '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吗?
更新
这个客户端实际上是一个好主意吗?
我在表单中使用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 …
我按照以下答案之一的说明设置了两个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.
字符串是不可变的,因为它们存储在常量字符串池中.那么,stringbuilder对象在哪里创建?说,我创建了两个字符串构建器对象
StringBuilder s1 = new StringBuilder("abc");
StringBuilder s2 = new StringBuilder("abc");
Run Code Online (Sandbox Code Playgroud)
我最终会在堆内存中有两个独立的对象,它们都包含值"abc"?
感谢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
这是演示我的情况的简单小提琴......
http://jsfiddle.net/UnsungHero97/EM6mR/17/
我正在做的是使用添加当前和未来元素的事件处理程序.on().我希望能够在发生某些事情时为特定元素删除这些事件处理程序; 在小提琴的情况下,当选择单选按钮时,应删除蓝色元素的事件处理程序,并且单击这些元素不应再执行任何操作.
它似乎没有工作:(
如何删除附加到document我.on()为那些特定蓝色元素创建的事件处理程序?
我已经设置了一个<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) 我很好奇......我将如何创建像Grooveshark一样的自定义进度条?如果您查看下面的图像,则进度条是一个鲨鱼形状的图像,并在页面加载时填充.

我觉得这很酷,很想知道它是如何完成的.这可以通过编程方式完成,还是在flash中完成?如果可能的话,我真的想在JavaScript(jQuery)中这样做.我/从哪里开始?
谢谢,Hristo
我的一个朋友刚刚指出了一个有趣的现象......我去了谷歌主页并查看了源代码:
<!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/
那么......这笔交易是什么?
我正在尝试制作我自己的"网站检查器"以满足特定需求,我在访问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上找不到任何有用的东西..
谢谢!