小编Meg*_*att的帖子

如何在不使用匿名回调参数的情况下访问jQuery事件

通常,在需要访问事件时,您可以通过回调函数中指定的参数执行此操作:

$button.live("click", function(ev) {
  // do something with ev here, like check 'ev.target'
}
Run Code Online (Sandbox Code Playgroud)

但相反(由于原因太复杂而无法进入此处),我不想使用匿名回调函数,而是指定要调用的函数,如下所示:

$button.live("click", functionToCall(ev, $(this));
Run Code Online (Sandbox Code Playgroud)

所以你会注意到我把'ev'作为functionToCall()的一个参数,但是这显然不起作用,因为我没有使用匿名回调函数.但我仍然需要访问functionToCall()中的click事件(以检查ev.target).我的问题是,如何访问此活动?如果我可以做这样的事情会很好:

$button.live("click", functionToCall($(this));
Run Code Online (Sandbox Code Playgroud)

function functionToCall($item) {

   var target = $item.event("click").target;
   // do something with target
}
Run Code Online (Sandbox Code Playgroud)

任何想法都将非常感激.谢谢.

javascript parameters jquery events anonymous-function

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

CSS:浮动div到右导致容器div在IE中拉伸整个屏幕宽度

我在这里看到了类似的问题,并没有看到答案.我有一个问题,一个元素在父div中正确浮动,并且它导致div在IE7中拉伸页面的整个宽度.在任何其他浏览器(Firefox和Chrome)中都不会发生这种情况.我也在问题后张贴了照片,供参考.我正在使用的HTML如下:

<div id="journal" class="journalIE">
    <div class="title_bar">
        <div>
            Testing
        </div>
        <div class="actions"></div>
        <div class="clear"></div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用这些标签的CSS也在下面.我注意到上面引用的另一个人的问题和我的问题之间的一致性是,父母div都有定位(上面的人有绝对,我已经修复).

#journal
{
    z-index: 1;
}

.journalIE
{
    right: 1px;
    bottom: 18px;
    position: fixed;
}

#journal .title_bar
{
    background: #F3F3F3;
    border: 1px solid #C5D6E8;
    color: #363638;
    font-size: 11pt;
    font-weight: bold;
    height: 20px;
    padding: 4px;
    margin-bottom: 4px;
}

#journal .title_bar .actions
{
    float: right;
}

.clear
{
    clear: both;
}
Run Code Online (Sandbox Code Playgroud)

请注意,'actions'类是浮动的.如果我带走那个漂浮物,我的盒子就像这样.但是添加浮动后,它会拉伸整个屏幕,看起来像这样.这是一个已知的IE错误,因为它没有在任何其他浏览器中发生,它让我发疯.

对于那些想知道的人,我确实在"行动"div中有内容,但是已经将所有内容都剥夺了根本问题.

任何帮助将不胜感激.非常感谢.

html css internet-explorer stretch css-float

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

CSS:Width如何以百分比形式工作?

我有我认为是一个奇怪的问题.我有一个div,在父div中,我给了孩子div宽度为100%,但它没有增长到父div的大小.

父DIV并没有任何类型的集合宽度.所以我的问题是:宽度百分比仅在父元素具有设置宽度时才起作用,或者它是否应该增长?

澄清:

如果父div没有设置宽度,有些人可能想知道父div的宽度是如何增长的.原因是我在父div中有其他兄弟元素,并且设置了它们的宽度,所以父div已经增长到满足那些兄弟宽度.

代码示例:

<div id="parent-div">
    <div id="child-element" style="width: 100%">Content</div>
    <div id="sibling" style="width: 250px"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

子元素不会增长以满足父div.宽度100%基本上没有做任何我能说的事情.这是在IE7中.

谢谢.

后续行动:感谢大家的回答.我正忙着测试我的结局.我原本认为父母div只会像他们的孩子一样宽大,但事实证明我错了,因为我上面的例子,我编码只是为了证明我的问题.就我而言,我的父母div有一个position: fixedbottom: 1pxright: 1px适用于它.从我的测试来看,这似乎改变了父div的行为.它不再自动延伸到页面的整个宽度,而是假设我认为的行为无论如何,这是父div扩展到足以容纳其最宽的孩子.这就是我现在看到的行为,但这只是因为我的父div有一个固定的位置.

css parent width

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

如何在销毁后重新创建jquery对话框

我正在页面加载(使用$(document).ready(function() {)上创建三个模态对话框.我通过调用setDialogWindows()方法创建这些对话框,并将其传递给对话框的div.对话框创建代码如下:

function setDialogWindows($element) {
 $element.dialog({
  autoOpen: false,
  modal: true,
  show: 'blind',
  hide: 'blind',
  width: 600,
  resizable: false,
  buttons: {
   Cancel: function() {
    $(this).dialog('destroy');
   },
   'Save': function() {
    $(this).dialog('close');
   }
  }
 });
}
Run Code Online (Sandbox Code Playgroud)

我会省略对话框html,但是有一些jquery拖放功能,我想在用户单击取消时完全重置.因此$(this).dialog('destroy').但是,当我再次单击链接打开对话框时,它不会显示.我意识到这是因为我没有重新插入它,但我真的不能这样做,因为对话框是在页面加载时创建的.我尝试向Cancel函数添加一个递归调用,如下所示:

   Cancel: function() {
    $(this).dialog('destroy');
    setDialogWindows($element);
   },
Run Code Online (Sandbox Code Playgroud)

但这不起作用 - 当我点击应该打开它的链接时仍然没有打开.有没有办法重新创建对话框?关于我应该重新初始化对话框的任何想法,如果我现在唯一的地方是在document.ready上?

谢谢.

jquery dialog jquery-ui modal-dialog

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

JQuery的好散点图插件(包括样本图片)?

我正在为JQuery寻找一个可靠的图形插件,它可以为我提供一个在我的网站上使用的有吸引力的散点图.我真的不需要很多花哨的功能 - 只是能够根据我给出的X轴和Y轴值在图表上绘制点.

我唯一有点特殊的要求是点有能力成为不同的颜色.除了在X轴上跟踪项目的"状态",以及在Y轴上的"输入时间",我想用它的实际颜色代表它的"状态"(不要与"状态"混淆)点.顺便提一下,有5个州和5个州.

我在快速谷歌搜索中发现了一些很有前途的,但没有看到指定点的颜色的能力(我找到了一个让我改变大小的能力).任何人的任何建议将不胜感激.

下面是我想要的,但我认为点将在5个不同的列(基于5个州)中更清晰地排列.但它可能有助于可视化.

alt text http://i50.tinypic.com/14jrwv7.jpg

谢谢.

jquery plugins graph scatter-plot

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

使用单个查询删除多行

这应该是一个简单的问题,但我还没有找到一个明确的答案.有没有人知道如何使用单个查询从SQL Server 2005中的单个表中删除多行?我想知道它是否恰好与插入多行相反,使用该UNION ALL方法.这会有用吗?:

DELETE FROM Table (Name, Location)
SELECT 'Name1', 'Location1'
UNION ALL
SELECT 'Name2', 'Location2'
UNION ALL
SELECT 'Name3', 'Location3'
etc...
Run Code Online (Sandbox Code Playgroud)

编辑:我应该指出,这是一个链接表,我正试图从中删除记录.没有主键,任何列的值都可能重复.因此,在删除记录之前,我需要确保两列都包含同一记录的特定值.

sql sql-server-2005 sql-delete

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

TF246017打开TFS管理控制台时出错

当我使用自己的域帐户登录我们的TFS服务器并尝试打开TFS管理控制台时,出现以下错误:

TF246017:Team Foundation Server无法连接到数据库.验证托管数据库的服务器是否正常运行,以及网络问题是否阻止与服务器的通信.

TFS数据库在TFS服务器上本地运行.当我使用本地计算机管理员帐户(可能是用于安装TFS的帐户)登录到TFS服务器时,管理控制台可以正常加载而不会出现任何错误.因此,我使用SSMS查看本地TFS数据库及其登录,并且看到本地TFS服务器用户帐户列出了完全权限,但我的域帐户不是.因此错误.

最后,我的问题.什么我喜欢做的是提供许可的TFS数据库(从而没有错误运行管理控制台的能力)的特定用户,一拉的本地管理员帐户.而不是通过SSMS将每个用户添加为登录,是否有一个TFS组,我可以将它们添加到那个将自动授予他们TFS数据库的权限?那似乎有点清洁.

谢谢.

permissions tfs administrator active-directory database-permissions

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

我怎样才能避免失败构建Maven的时候战争插件无法找到webResource目录?

我正在使用通过Maven生成WAR工件的模块。该模块具有典型src/main/webapp目录。我正在使用Maven的war插件在webapp目录中添加另一个资源目录,该目录可以在构建时以编程方式提供。因此,我的插件在POM中的配置如下:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory>src/main/webapp.${flavor}</directory>
            </resource>
        </webResources>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

其中${flavor}默认为根POM中的值,或者可以选择在构建时使用以下方式覆盖:

mvn clean install -Dflavor=customer

问题是,如果War插件找不到为资源提供的目录(即src/main/webapp.customer不存在),则会在构建期间死亡。我的项目可以具有多种风格,而我不必为每种可能的风格创建一个空目录,只是为了安抚插件。

问题:是否有一种方法可以配置war插件,使其在目录不存在时不使构建失败?如果没有,那么在尚不存在时在构建时创建此目录的最佳方法是什么?

谢谢。

更新

经过更多的思考和研究,我决定在构建时使用maven-antrun-plugin来有条件地创建“风味”目录。毕竟,如果构建需要该目录存在,并且在没有该目录的情况下将消失,则构建应确保该目录存在。所以这是我的antrun插件执行:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>created-flavored-resources-directory</id>
            <phase>process-resources</phase>
            <configuration>
                <target>
                    <mkdir dir="src/main/webapp.${flavor}"/>
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

仅当目录不存在时,执行才会创建目录。这使我们可以建立目录...或没有。一切正常。

java maven-plugin maven-3 maven maven-war-plugin

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

Spring data neo4j cypher方言并非在所有地方都强制执行

升级到 Neo4j v5.9.0 时,我尝试通过创建以下配置来强制执行 Neo4j v5 方言,如文档所示

import org.neo4j.cypherdsl.core.renderer.Dialect
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.neo4j.cypherdsl.core.renderer.Configuration as CypherConfiguration

@Configuration
class Neo4jConfiguration {

    @Bean
    fun cypherDslConfiguration(): CypherConfiguration =
        CypherConfiguration.newConfig().withDialect(Dialect.NEO4J_5).build()
}
Run Code Online (Sandbox Code Playgroud)

当从弹簧执行器检查时,似乎存在以下 bean

"cypherDslConfiguration": {
  "aliases": [],
  "scope": "singleton",
  "type": "org.neo4j.cypherdsl.core.renderer.Configuration",
  "resource": "class path resource [com/foo/infra/neo4j/Neo4jConfiguration.class]",
  "dependencies": [
    "neo4jConfiguration"
  ]
}
Run Code Online (Sandbox Code Playgroud)

当使用存储库查询时,我仍然收到来自各种不同查询的以下警告

Neo.ClientNotification.Statement.FeatureDeprecationWarning: This feature is deprecated and will be removed in future versions.
    UNWIND $__relationships__ AS relationship WITH relationship MATCH (startNode:`MyNode`) WHERE startNode.entityId = relationship.fromId MATCH (endNode) WHERE id(endNode) = relationship.toId MERGE …
Run Code Online (Sandbox Code Playgroud)

java neo4j kotlin spring-data-neo4j spring-boot

6
推荐指数
0
解决办法
312
查看次数

删除特定对象上的jQuery委托事件处理程序

我已使用单个选择器将委派的事件处理程序附加到页面上的许多元素.当事件是针对单个元素触发的时候,我想基于某些条件逻辑关闭该元素的事件处理程序.这意味着我不一定要在第一次点击时禁用该事件.但我无法弄清楚如何在不关闭所有这些的情况下做到这一点.

HTML:

<button>One</button>
<button>Two</button>
<button>Three</button>
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).on('click', 'button', function(ev) {
    // doesn't work because argument needs to be a string
    $(document).off('click', $(ev.target));

    // doesn't do what I want b/c turns off events on all buttons, not just this one
    $(document).off('click', 'button');

    // doesn't work because event is on document, not button
    $(ev.target).off('click');
});
Run Code Online (Sandbox Code Playgroud)

jQuery的off文档说我需要提供一个字符串作为第二个参数,而不是jQuery对象($(ev.target)),但是如果我提供一个字符串,那么没有值只引用被点击的项目.

从jQuery的文档:

要删除特定的委托事件处理程序,请提供选择器参数.选择器字符串必须与附加事件处理程序时传递给.on()的选择器字符串完全匹配.要在不删除非委派事件的情况下从元素中删除所有委派事件,请使用特殊值"**".

那么如何关闭特定元素的委托事件处理程序呢?

这是上面代码的JSFiddle

更新:根据提供的初始答案,添加了一些不起作用的选项示例.

javascript jquery delegates event-delegation

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