问题列表 - 第22533页

如何在JavaScript中复制变量?

我有这个JavaScript代码:

for (var idx in data) {
    var row = $("<tr></tr>");
    row.click(function() { alert(idx); });
    table.append(row);
}
Run Code Online (Sandbox Code Playgroud)

所以我正在查看一个数组,动态创建行(我创建单元格的部分被省略,因为它并不重要).重要的是我创建了一个包含idx变量的新函数.

但是,idx只是一个引用,因此在循环结束时,所有行都具有相同的功能,并且所有行都提醒相同的值.

我现在解决这个问题的一种方法是这样做:

function GetRowClickFunction(idx){
    return function() { alert(idx); }
}
Run Code Online (Sandbox Code Playgroud)

在我调用的调用代码中

row.click(GetRowClickFunction(idx));
Run Code Online (Sandbox Code Playgroud)

这有效,但有点难看.我想知道是否有更好的方法可以在循环中复制idx的当前值?

虽然问题本身不是特定于jQuery(它与JavaScript闭包/范围有关),但我使用jQuery,因此只有jQuery的解决方案才有效.

javascript jquery closures loops

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

带片段着色器的GLSL仅渲染黑色GL_POINTS

我试图在我的旧OpenGL程序中添加一些着色器,这些程序可以绘制很多GL_POINTS和一些GL_LINES.

我创建了这两个着色器:

顶点着色器:

void main()
{ 
    vec4 v = vec4(gl_Vertex);
    v.z = v.z + sin(v.x*v.x + v.y*v.y)/10.0;
    gl_Position = gl_ModelViewProjectionMatrix * v;
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:

#version 120 

void main()
{
    vec4 myOutputColor = gl_Color;
    gl_FragColor = myOutputColor;
    //gl_FragColor.r = 0.5;
}
Run Code Online (Sandbox Code Playgroud)

这两个着色器编译和链接没有问题.并且顶点着色器工作得很好,我可以看到GL_POINTS在顶点着色器中使用该sin移位.但问题是,如果背景颜色不是黑色,我只能看到我的GL_POINTS和GL_LINES,因为所有的点和线都呈现为黑色.似乎忽略了渲染代码中使用glColor3f设置的所有颜色.如果我取消注释片段着色器中的注释行,我可以将所有的行和点都设置为红色,但是gl_Color不应该对应于每个点使用glColor3f设置的颜色吗?

我的OpenGL代码中是否还有其他可能导致此行为的内容?

opengl shader glsl

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

阻止listview丢失所选项目

我目前正在使用winform c#中的listview,每次单击listview上的空白区域时,所选项目都将丢失.

c# listview selection winforms

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

PHP中的MySQLi查询工作不正常,有没有办法获得确切的查询?

MySQLi准备之后有没有办法获得查询?我的疑问搞得一团糟:

$query = "UPDATE event SET group=?, boxed=?, name=?, location=?, time=?, day=?, type=? WHERE id=? LIMIT 1";
if($stmt = $db -> prepare($query))
{
    $stmt -> bind_param("iisssssi", $group, $boxed, $name, $location, $time, $day, $etype, $id);
    $stmt -> execute();
    $stmt -> close();
}
else
Run Code Online (Sandbox Code Playgroud)

错误信息:

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'group = ?, boxed = ?, name = ?, location = ?, time =?,day = ?, type =?附近使用正确的语法.WHERE id =?在第1行限制1'

变量group是一个int,boxed是一个int,其余的是字符串,并且id是一个int.

php mysqli

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

我可以使用WPF摇动用户桌面吗?

我正在编写一个供个人使用的应用程序,它将跟踪我到达鼠标的频率,并将反击我已经没用鼠标的时间.当我使用鼠标时,我希望它可以将我的桌面工作区摇动一秒作为负强化动作.

该应用程序将被称为WristSlap,一旦我准备好0.1版本,它将在github上.

wpf shake

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

对JBoss web.xml的更改无效

我刚把它添加到我的JBOSS服务器上的web.xml中.但它没有效果.我仍然可以连接到不使用双向证书交换的端口.有人有想法吗?

<!-- Force SSL for entire site as described here: http://wiki.metawerx.net/wiki/ForcingSSLForSectionsOfYourWebsite -->
<security-constraint>

        <!-- defines resources to be protected (in this case everything)-->
        <web-resource-collection>
                <!-- name for the resource, can be anything you like -->
                <!-- Question: is this referenced anywhere else? -->
                <web-resource-name>
                        Entire Application
                </web-resource-name>

                <!-- protect the entire application -->
                <url-pattern>
                        /*
                </url-pattern>
        </web-resource-collection>



        <!-- defines protection level for protected resource -->
        <user-data-constraint>
                <!-- data cannot be observed or changed                                 -->
                <!-- how it works in tomcat: …
Run Code Online (Sandbox Code Playgroud)

java jboss tomcat web-services web.xml

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

iPhone多线程AddressBook操作

我已经使用iPhone的AddressBook api一段时间了.但是为了提高应用程序性能做了一些重构,我决定"重用"AddressBookCreate返回的ABAddressBookRef,因为我注意到有很大的性能改进.但是,我现在正在随机获得EXEC_BAD_ACCESS错误,我认为原因在于iPhone参考实现中的这个"警告":http://developer.apple.com/iphone/library/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/300 -BasicObjects/BasicObjects.html#// apple_ref/DOC/UID/TP40007744-CH3-SW1

重要说明:多个线程不能使用ABAddressBookRef的实例.每个线程必须通过调用ABAddressBookCreate来创建自己的实例.

现在,我认为这只是意味着它不是线程安全的,所以我必须同步访问API,但也许我错了,还有一些其他原因导致多个线程弄乱了数据结构?

有人可以确认它确实是一个线程安全的问题(所以@synchronize应该工作)还是其他一些问题?

干杯

iphone multithreading addressbook

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

SQL Server死锁修复:强制连接顺序,还是自动重试?

我有执行连接的一个存储过程TableBTableA:

 SELECT <--- Nested <--- TableA
             Loop   <--
                      |
                      ---TableB
Run Code Online (Sandbox Code Playgroud)

同时,在事务中,行插入TableA,然后插入TableB.

这种情况偶尔会导致死锁,因为存储过程选择从TableB中获取行,而insert将行添加到TableA,然后每个都希望另一个放弃另一个表:

INSERT     SELECT
=========  ========
Lock A     Lock B
Insert A   Select B
Want B     Want A
....deadlock...
Run Code Online (Sandbox Code Playgroud)

逻辑要求INSERT首先向A添加行,然后向B添加行,而我个人并不关心SQL Server执行其连接的顺序 - 只要它加入.

修复死锁的一般建议是确保每个人以相同的顺序访问资源.但在这种情况下,SQL Server的优化器告诉我相反的顺序是"更好".我可以强制执行另一个连接顺序,并且查询效果更差.

但是我应该吗?

我应该使用我希望它使用的连接顺序现在和永远覆盖优化器吗?

或者我应该只是捕获错误本机错误1205,并重新提交select语句?

问题不是当我覆盖优化器并且它做非理想的事情时,查询可能会执行多么糟糕.问题是:自动重试是否更好,而不是运行更糟糕的查询?

sql-server error-handling deadlock sql-server-2000 database-deadlocks

8
推荐指数
2
解决办法
8846
查看次数

Asynchronous Google Analytics何时以及如何执行?

我正在切换我们的网站以使用异步Google Analytics,我很好奇它是将事件推送到_gaq数组的方法.据我所知,当ga.js脚本被异步下载时,事件被置于_gaq中的等待模式中.下载脚本后是否会触发,以及如何跟踪文档后加载事件?

一个示例是用户在页面加载后10秒单击链接 - 根据文档,事件应放入_gaq.分析脚本如何检测到这一点?

javascript asynchronous google-analytics

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

Cassandra的生产是否适合Ruby on Rails?

我正在研究一个正在考虑使用Cassandra作为数据库的项目.我们希望最终迁移到Cassandra,即使我们使用MySQL开始,因为它具有可扩展性.我知道像Facebook,Digg和最近的Twitter这样的大公司正在使用Cassandra,但我不相信任何这些网站都会使用Rails.我的问题是使用Ruby on Rails使用Cassandra是否可行.需要考虑的要点:

  1. 我们严重依赖Authlogic gem.切换到Cassandra会影响它的工作原理吗?
  2. Cassandra有没有成熟的红宝石客户?看看Github,似乎动物群的客户(现在是twitters的客户)是最成熟的.有人有过生产经验吗?

感谢任何提示.

gem ruby-on-rails cassandra ruby-on-rails-plugins

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