Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 敲除单击绑定,内有单选按钮_Javascript_Css_Html_Knockout 2.0 - Fatal编程技术网

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" />