Javascript 敲除单击绑定,内有单选按钮
将单击事件绑定到包含单选按钮的Javascript 敲除单击绑定,内有单选按钮,javascript,css,html,knockout-2.0,Javascript,Css,Html,Knockout 2.0,将单击事件绑定到包含单选按钮的li时,单选按钮元素似乎失去了被单击的能力。从视觉上看,单选按钮不会更改,但单击时,该值会通过检查绑定发送到ViewModel observable属性 有什么建议吗 <li data-bind="click: setDimension, clickBubble: false", css: { 'currentDimension' selectedDimension() === 'TimeD'}> &
li
时,单选按钮元素似乎失去了被单击的能力。从视觉上看,单选按钮不会更改,但单击时,该值会通过检查
绑定发送到ViewModel observable属性
有什么建议吗
<li data-bind="click: setDimension, clickBubble: false",
css: { 'currentDimension' selectedDimension() === 'TimeD'}>
<input type="radio" data-bind="checked: dimesionPresentation" value="0" />
<input type="radio" data-bind="checked: dimesionPresentation" value="1" />
</li>
如您所见,我尝试了
单击气泡:false
,但没有帮助。关键是返回true在单击处理程序函数的末尾!这将正确更新UI。关键是返回true在单击处理程序函数的末尾!这将正确更新UI。您必须将clickBubble设置为false,并在click函数中返回true。
请参见此处的解决方案:
您必须将clickBubble设置为false,并在click函数中返回true。 请参见此处的解决方案:
我无法重新处理您的问题:。您的代码运行正常,单选按钮已正确检查。您可以尝试在JSFIDLE中重新编程吗?
li
元素位于ul
元素中,该元素被转换为kendoPanelBar。也许这就是为什么???为li元素指定clickBubble不会解决问题,因为这会停止从li到其父元素的单击传播。如果要确保单击了单选按钮,请将其“单击”绑定到空函数,并指定clickBubble:true。这将强制首先单击单选按钮,然后单击li元素。这是JSFIDLE:我无法重新处理您的问题:。您的代码运行正常,单选按钮已正确检查。您可以尝试在JSFIDLE中重新编程吗?li
元素位于ul
元素中,该元素被转换为kendoPanelBar。也许这就是为什么???为li元素指定clickBubble不会解决问题,因为这会停止从li到其父元素的单击传播。如果要确保单击了单选按钮,请将其“单击”绑定到空函数,并指定clickBubble:true。这将强制首先单击单选按钮,然后单击li元素。这是JSFIDLE:我的上帝,这让我发疯了,谢谢你!我的天,这让我发疯了,谢谢你!
<li data-bind="click: setDimension">
<input type="radio" data-bind="checked: dimensionPresentation, click: function(){ click; return true}, clickBubble: false" value="0" />
<input type="radio" data-bind="checked: dimensionPresentation, click: function(){ click; return true}, clickBubble: false" value="1" />
<input type="radio" data-bind="checked: dimensionPresentation, click: function(){ click; return true}, clickBubble: false" value="2" />