小编gna*_*arf的帖子

已知哪些JavaScript库使用全局美元符号:window.$?

哪些JavaScript库接管$全局范围内的变量?

如果库在全局命名空间中提供了不同的名称,或提供了放弃的方法window.$,那么您是否可以链接到其文档中的正确函数,或者使用它的一些代码示例?

具有这样的列表可以非常快速地调试彼此之间的潜在冲突.

javascript

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

Zend中的Action View Helper - 可以解决吗?

我正在构建一个我希望用作"标签式浏览"功能的界面.这些选项卡中的每一个都已编写为操作,选项卡式界面可作为各个选项卡的链接.我决定尝试为这个控制器编写"索引"页面 - 将所有选项卡的内容放入隐藏的div并使用jQuery在它们之间交换,但是一旦我开始使用动作视图助手 - 我遇到了很多人说这是不好的做法.(见本文)

其中一些操作会构建表单 - 从模型中获取一些数据等以显示.我希望每个动作都能继续自行运行(一些解析形式).

浏览到/ item应该为您提供选项卡式菜单,以及隐藏标记中所有div的内容 - 其中/ item/tab2是特定操作(例如表单提交).

另一个复杂/警告 - 如果用户无权访问该"选项卡",某些操作将抛出Access Exceptions.我不想两次将访问检查构建到系统中(因此显示一个包含空内容的选项卡).

我只想弄清楚处理这类事情的最佳做法是什么,我认为动作助手可能就是这样.如果我尝试使用View Helpers - 我开始想知道这是否是组装Zend_Form的正确位置.

有没有人对"正确"的方法有任何建议,不使用Zend_View_Helper_Action

php model-view-controller zend-framework zend-form

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

jQuery插件命名空间函数

我正在创建一个范围相当大的jQuery插件.事实上,该插件在技术上由一些可以协同工作的插件组成.

(function($){
    $.fn.foo = function(){
        //plugin part A
    }
    $.fn.bar = function(){
        //plugin part B
    }
    $.fn.baz = function(){
        //plugin part C
    }
}(jQuery))
Run Code Online (Sandbox Code Playgroud)

是否可以命名jQuery插件,使小插件可以是更大的插件的功能

$.fn.foo.bar = function(){}
$.fn.foo.baz = funciton(){}
Run Code Online (Sandbox Code Playgroud)

这样可以避免污染jQuery函数名称空间.然后你可以调用插件

$('#example').foo()
$('#other_example').foo.bar()
Run Code Online (Sandbox Code Playgroud)

我自己尝试这个问题时遇到的问题是声明为foo()插件函数属性的函数没有正确设置对'this'的引用.'this'最终引用父对象而不是jQuery对象.

任何想法或意见将不胜感激.

-Matt

javascript jquery jquery-plugins

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

jQuery等待加载所有选择的选项

我有一个选择框对象,ajax函数使用所选值作为输入调用OnChange.我还想在首次加载选择框时调用相同的函数.我使用jQuery .load,但是在加载任何选项之前调用了ajax函数,并且我的ajax函数的输入是未定义的.有没有人知道如何让jQuery在调用函数之前等待加载所有选项?

谢谢.

编辑 - 添加代码 我发现一个setTimeout()可以很好地延迟功能.但是,我使用起来很紧张,setTimeout()因为如果页面加载速度比平时慢,则无法正常工作.我尝试$(document).ready按照您的建议替换超时,但在选择选项并且输入未定义之前仍然调用该函数.

这是代码:

<script type="text/JavaScript">    
    setTimeout('AjaxFunction($("#SelectID option:selected").val()));', 400);
</script>

<select id="SelectID" name="SelectName" onchange="AjaxFunction(this.value);">
<option value='Inland Empire'>Inland Empire</option>
<option value='San Bernardino'>San Bernardino</option>  
<option value='Riverside'>Riverside</option>
<option value='California'>California</option>  
</select>
Run Code Online (Sandbox Code Playgroud)

jquery

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

使用JavaScript和Google Gears处理文件上传是否有更好的解决方案?

所以 - 我一直在使用这种文件上传方法,但似乎Google Gears对实现HTML5规范的新浏览器支持不足.我听说过几个频道的弃用词,所以我正在寻找能够完成以下任务并支持新浏览器的替代品.我总是可以回到齿轮/标准文件POST,但这些以下项目使我的过程更简单:

  1. 用户必须能够在对话框中选择多个文件进行上传.
  2. 必须能够接收有关文件传输的状态更新.(进度条)
  3. 我希望能够使用PUT请求而不是POST
  4. 我希望能够使用JavaScript轻松地将这些事件附加到现有HTML元素.IE应该在<button>单击时触发文件选择.
  5. 我希望能够使用JavaScript轻松控制响应/请求参数.

我不确定新的HTML5浏览器是否支持桌面/请求对象齿轮使用,或者是否有闪存上传器具有我在谷歌搜索中缺少的这些功能.

使用齿轮上传代码的示例:

// select some files:
var desktop = google.gears.factory.create('beta.desktop');
desktop.openFiles(selectFilesCallback);

function selectFilesCallback(files) {
  $.each(files,function(k,file) {
    // this code actually goes through a queue, and creates some status bars
    // but it is unimportant to show here...
    sendFile(file);
  });
}

function sendFile(file) {
  google.gears.factory.create('beta.httprequest');
  request.open('PUT', upl.url);
  request.setRequestHeader('filename', file.name);
  request.upload.onprogress = function(e) {
    // gives me % status updates...  allows e.loaded/e.total …
Run Code Online (Sandbox Code Playgroud)

html javascript flash file-upload google-gears

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

cron作业或PHP调度程序

我使用MYSQL作为我的数据库,PHP作为我的编程语言.我想运行一个cron作业,该作业将一直运行,直到当前系统日期与我的数据库表中名为"PROJECT"的"deadline(date)"列匹配.一旦日期必须运行更新查询,这将更改状态(项目表的字段)从"打开"到"关闭".

我不确定cron作业是最好的方式,还是我可以使用触发器,或者可能是其他东西.我也使用Apache作为我的Web服务器,我的操作系统是windows vista.

这也是最好的方法吗?PHP调度程序或cron作业或任何其他方法?任何人都可以开导我吗?

php mysql cron scheduled-tasks windows-vista

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

使用JQuery通过计时器迭代元素

我试图使用JQuery使用计时器迭代一些<li>对象,即 - 每5秒,我想访问我的<ul>的下一个<li>对象.

我知道您可以使用.each函数进行迭代,但是我在将计时器与它集成时无法单独迭代每个计时器.

我尝试了以下,但它无法正常工作.它一直给我最后的LI元素.我假设这是因为setTimeout不是顺序的.

$("#div_image_thumb ul li").each(function(){    
  var myLIobj = $(this);
  setTimeout(function(){doThis(myLIobj);}, 5000);
});
Run Code Online (Sandbox Code Playgroud)

jquery

5
推荐指数
2
解决办法
6947
查看次数

如何重复Perl正则表达式,直到没有更改为止?

我正在尝试编写一个简单的命令行脚本来修复一些空格,并且需要使用制表符替换两个空格的出现,但前提是它出现在行的开头(仅由其他制表符作为前缀).

s/^(\t*)  /\1\t/g;如果我经历了多次传递,我提出了完美的工作原理,但我不知道perl知道如何循环直到字符串没有改变,或者是否有正则表达式来处理它.

我唯一的想法是使用lookbehind但它不能是可变长度.如果它足够短以适应快速命令行脚本,我将对非正则表达式解决方案持开放态度.

作为参考,当前的perl脚本正在执行,如下所示:

perl -pe 's/^(\t*)  /$1\t/g'
Run Code Online (Sandbox Code Playgroud)

regex bash perl command-line

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

使用jQuery更改样式表

如何在html上使用div标签中的jquery更改样式表?或者更改样式表的jquery代码是什么?

在javascript中,我们使用以下代码:

<script type="text/javascript">
 function changeStyle() {
 document.getElementById('stylesheet').href = 'design4.css';
 }
</script>
Run Code Online (Sandbox Code Playgroud)

有jQuery的方式吗?

jquery stylesheet

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

约翰尼五:董事会没准备好

我以前让我的Arduino套件与Breakout在同一硬件上工作,但是想切换到Johnny Five.我的硬件与http://weblog.bocoup.com/javascript-arduino-programming-with-nodejs/上的简单单个LED布局相连,但运行基本的LED选通演示不能按预期工作:

var five = require("johnny-five"),
    board, led;

board = new five.Board();

board.on("ready", function() {
  console.log('ready');
  led = new five.Led(13);
  led.strobe(100);
});
Run Code Online (Sandbox Code Playgroud)

返回:

1341154189666 Board Connecting... 
1341154189697 Serial Found possible serial port cu.usbmodem621
1341154189699 Board -> Serialport connected cu.usbmodem621
1341154191570 Repl Successfully Connected 
Run Code Online (Sandbox Code Playgroud)

我最终直接进入Firmata REPL而没有LED频闪,而且board.readyfalse.

为什么board.ready回调不会被解雇的任何建议?

arduino node.js johnny-five

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