-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
编辑名称时 我需要有两个操作来确认编辑 一个是自定义按钮 一个是回车键, 其他操作(比如,点击页面其他区域),不允许退出编辑状态,该如何实现呢? 我尝试监听了键盘事件,发现beforeRename要先于键盘事件执行,我该如何控制呢? #488
Comments
liu-enel
changed the title
编辑名称时 我需要有两个操作来确认编辑 一个是自定义按钮 一个是回车键, 其他操作(比如,点击页面其他区域),不允许退出编辑状态,改如何实现吗? 我尝试监听了键盘事件,发现beforeRename要先于键盘事件执行,我该如何控制呢?
编辑名称时 我需要有两个操作来确认编辑 一个是自定义按钮 一个是回车键, 其他操作(比如,点击页面其他区域),不允许退出编辑状态,该如何实现呢? 我尝试监听了键盘事件,发现beforeRename要先于键盘事件执行,我该如何控制呢?
Aug 14, 2021
我看到源码中有这样一段 inputObj.bind('blur', function(event) {
if (!view.editNodeBlur) {
view.cancelCurEditNode(setting);
}
}).bind('keydown', function(event) {
if (event.keyCode=="13") {
view.editNodeBlur = true;
view.cancelCurEditNode(setting);
} else if (event.keyCode=="27") {
view.cancelCurEditNode(setting, null, true);
}
}).bind('click', function(event) {
return false;
}).bind('dblclick', function(event) {
return false;
}); |
首先要说,都 2021年了,对于 input 来说,很多都是 blur 就直接取消编辑状态了。。。 当然,我也不能说你的要求不对,但目前的源码肯定无法支持,要么你直接修改 zTree 源码,要么你利用 beforeEditName 阻止 zTree 的编辑事件,然后你自己那边去实现一套修改名称的交互界面。 |
我现在是通过在input上强行加一个事件,去触发了两次rename的回调 解决了这个问题 |
const keyUpFn = event =>{
if (event.keyCode=="13") {
const zTree = $.fn.zTree.getZTreeObj("treeDemo")
confirmClick(event.data.treeNode)
}
}
...
$(`#${treeNode.tId}_input`).unbind('keyup', keyUpFn)
$(`#${treeNode.tId}_input`).bind('keyup',{treeNode}, keyUpFn) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The text was updated successfully, but these errors were encountered: