cannot call methods on button prior to initialization; attempted to call method 'toggle' 解决

本文详细介绍了在Bootstrap3.0中使用Radiobutton时遇到的初始化冲突问题,并提供了调整js加载顺序的解决方法,确保jQuery UI插件先于Bootstrap加载,从而避免按钮无法选择的问题。

在bootstrap 3.0 中使用 radio button 

http://v3.bootcss.com/javascript/#buttons

<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option1"> Option 1
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option2"> Option 2
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option3"> Option 3
  </label>
</div>

出现 这个错误 

cannot call methods on button prior to initialization; attempted to call method 'toggle' 


表现情况是  按钮无法选择。


解决办法和产生原因。


这个问题是由于bootstrap 和 jquery.ui 冲突引起的。


解决办法 调整载入的js顺序,使jquyer.ui 插件先载入。然后再载入 bootstrap 

http://stackoverflow.com/questions/13235578/bootstrap-radio-buttons-toggle-issue


### 处理方法 处理鼠标离开指定窗口客户区,通常要在窗口的鼠标移动消息处理函数里调用`TrackMouseEvent`函数,以此来请求系统在鼠标离开窗口时发送`WM_MOUSELEAVE`消息。以下是示例代码: ```cpp // 设置一个状态量用于记录和标识鼠标是否在窗口内 BOOL m_bMouseTracking; // 处理鼠标移动消息 void CXXXDlg::OnMouseMove(UINT nFlags, CPoint point) { // 接收到WM_MOUSEMOVE,而m_bMouseTracking为假时,鼠标进入窗口。 // 设置_TrackMouseEvent TRACKMOUSEEVENT tme; tme.cbSize = sizeof(TRACKMOUSEEVENT); // 监控鼠标离开 tme.dwFlags = TME_LEAVE; tme.hwndTrack = this->m_hWnd; if (::_TrackMouseEvent(&tme)) { m_bMouseTracking = TRUE; // 其他鼠标进入时的操作 } CDialog::OnMouseMove(nFlags, point); } // 处理WM_MOUSELEAVE消息 LRESULT CXXXDlg::OnMouseLeave(WPARAM wParam, LPARAM lParam) { m_bMouseTracking = FALSE; // 处理鼠标离开时的操作 return 0; } ``` 在上述代码中,`OnMouseMove`函数里调用`TrackMouseEvent`函数,请求系统在鼠标离开窗口时发送`WM_MOUSELEAVE`消息。当收到`WM_MOUSELEAVE`消息时,会调用`OnMouseLeave`函数处理鼠标离开的操作。 ### 原理 `TrackMouseEvent`是Windows API函数,可用于跟踪鼠标的特定事件,如鼠标离开窗口、鼠标在窗口内停留等。调用`TrackMouseEvent`时,需要传入一个`TRACKMOUSEEVENT`结构体,该结构体包含了跟踪鼠标事件的相关信息,如跟踪的窗口句柄、跟踪的事件类型等。当设置`dwFlags`为`TME_LEAVE`时,系统会在鼠标离开指定窗口客户区时发送`WM_MOUSELEAVE`消息。需要注意的是,每调用一次`TrackMouseEvent`,窗口只能收到一次`WM_MOUSELEAVE`消息。若要持续监控鼠标离开事件,当鼠标重新进入窗口时,必须再次调用`TrackMouseEvent` [^1][^2][^3]。
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值