jquery - 如何捕捉 select2 下拉菜单的宽度?
问题描述
我有一个 select2 下拉菜单,其容器的宽度为 100%。容器宽度是可变的。我的下拉列表具有正确的宽度。但是当我选择一个名称很长的选项时,下拉列表的大小会增加。我尝试了很多方法来防止这种情况。但是没有任何效果,因为我不能使用固定大小。
所以我的方法是在选择选项之前捕获select2的大小,然后在选择选项之后再次将相同的大小添加到选择框。但是试图捕捉选择框的宽度是行不通的。
$(document).on('change', '.select2', function(e) {
var width = $( this ).css( "width" );
alert(width);
});
输出是1px
,但大小肯定比 1px 宽。
解决方案
$(this)
在这种情况下,实际上是所选项目而不是选择下拉列表。要获取选择下拉列表,请调用父级然后width()
$(document).on('change', '.select2', function(e) {
var width = $(this).parent().width();
alert(width);
});
推荐阅读
- php - foreach 在 while 循环中
- javascript - 无法将方法的头部传递给 React 标记中的事件处理
- regex - TDIPerlRegEx 区分大小写匹配的正则表达式
- apache - 使用“AllowEncodedSlashes On”时如何显示自定义404错误页面
- c - 将第 3 方 C 文件与 C Lion 一起使用,初学者视角
- matlab - .fig 到 .eps 转换中的问题 (MATLABR 2015b)
- intellij-idea - 我如何配置 intellij idea + jrebel + liferay dxp
- javascript - Netflix Falcor - 何时从数据源返回 pathValues 与 jsonGraph?
- bash - 使用 jq 计算 geoJSON 多边形的重心
- javascript - 在函数内的“”中转换 null