0

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

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

这里不仅通过单击 span 元素调用 action changeSomething。如果我单击“其他标签”,则会触发 changeSomething。我认为只有跨度以下的项目才会暴露出来,而且它比第一种情况更随机。不确定这是否相关,但我也使用 jquery ver 1.10.2,jqueryui ver 1.10.2。

抱歉缺少小提琴,但我无法在简单的环境中重现它。

4

1 回答 1

1

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

它提供单击事件处理程序的唯一另一种方法是,如果您的 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/

于 2013-08-01T16:08:26.743 回答