2013-08-01 98 views
0

我使用淘汰赛版本绑定。 2.3.0。点击绑定由ie8中的多个元素处理。例如:淘汰赛在IE8,点击

<div> 
    <div> 
     <span data-bind="click: changeSomething">click me</span> 
    </div> 
    <someother tags>...</someother tags> 
</div> 

此处的动作changeSomething不仅通过点击span元素来调用。如果我点击“其他标签”更改,会触发某些内容。我认为只有跨度以下的物品才会暴露,并且比第一种情况更随机。不知道这是否相关,但我也使用jquery ver 1.10.2,jqueryui ver 1.10.2。

对不起,没有小提琴的,但我不能在简单的环境中重现。

+1

有点难以让我们来帮助你,如果我们不能复制... – Jeroen

回答

1

的问题,你是最有可能眼看被称为起泡。你需要防止冒泡。这不仅仅是一个IE8问题,它是所有的浏览器。

它将给Click事件处理程序的唯一的另一种方式是,如果你的jQuery或视图模型告诉它处理任何点击,作为KO是IE8功能齐全。

<div data-bind="click: myDivHandler"> 
    <button data-bind="click: myButtonHandler, clickBubble: false"> 
     Click me 
    </button> 
</div> 

你可以在这里阅读的文档

http://knockoutjs.com/documentation/click-binding.html

例子 -

http://jsfiddle.net/XPtAY/

+0

感谢您的回复。我想过,但不是这样。我没有使用点击绑定的嵌套标签。我有兄弟姐妹(或父母)也处理该点击。它只发生在IE8中,在IE9/Firefox/Chrome中一切都很好。标签很好,如果jQuery处理父事件,那么它是无意的。我能以某种方式检查吗?何时,如何为指定元素添加绑定? – Mat38

+0

我发现类似的问题[这里](http://stackoverflow.com/questions/16453003/knockout-js-and-with-binding-in-ie8-corrupts-page)。使用,而不是< - KO用:A - >解决的问题(虽然使用前缀无处不在复杂的代码并使其更长) – Mat38

+0

您确定您正在按照适当的惯例关闭所有标签吗? –