Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 使用AngularJS调整表列的大小_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 使用AngularJS调整表列的大小

Javascript 使用AngularJS调整表列的大小,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我想实现可调整大小的表列,这样当您单击并拖动th右侧的“凹口”(仅是th中的一个样式div)时,就会在th中创建一个新的“marquee”元素,并显示为调整大小的指南。鼠标悬停时,选框消失,元素的宽度设置为新的宽度 我创建了一个示例 答案似乎是创建一个指令,但我的主要问题是如何在指令逻辑中处理动态添加的window mousemove listener加上“one”window mouseup listener。我相信您的问题是关于“marquee”的,这是为调整大小显示的。此问题的解决方案是使

我想实现可调整大小的表列,这样当您单击并拖动
th
右侧的“凹口”(仅是
th
中的一个样式div)时,就会在
th
中创建一个新的“marquee”元素,并显示为调整大小的指南。鼠标悬停时,选框消失,元素的宽度设置为新的宽度

我创建了一个示例


答案似乎是创建一个指令,但我的主要问题是如何在指令逻辑中处理动态添加的window mousemove listener加上“one”window mouseup listener。

我相信您的问题是关于“marquee”的,这是为调整大小显示的。此问题的解决方案是使用
$scope.$apply
,它负责通知自动调整大小到DOM HTML的更改。查看
mousemove(e)


代码:

我不明白你说的“如何处理”是什么意思。你已经有了一个有效的解决方案,不是吗?我的理解是,OP想知道如何将他的解决方案转换成角度,最有可能是使用指令。将你的小提琴放在指令的postLink回调中。像
$th.width()
这样的调用将不起作用,除非该表已经在DOM中可见。如果指令使用模板创建表。您可能必须使用
$timeout
。否则,我在你的小提琴中看不到任何指令可以完成的东西。@MichalCharemza谢谢你的编辑和澄清,这就是我要找的。马修·福斯卡里尼感谢您的洞察力。我来试试。我们能做点什么吗。。用户无法将列的大小调整为小于列内容宽度