当前位置: 首页 > 知识库问答 >
问题:

如何禁用超链接的所有操作并提交表单,但可以拖动这些元素

丌官炎彬
2023-03-14

我使用JavaFx WebView来显示网页,但我不想在网页和Web引擎上禁用Javascript的任何交互(位置更改)。由于这个原因,我试图禁用超链接的所有操作并通过以下方式提交表单

a[style] {
    pointer-events: none !important;
    cursor: default;
}

input[style] {
    pointer-events: none !important;
    cursor: default;
}

所以我不能拖他们。有没有其他办法解决这个问题?通过CSS或JavaFx更好地解决它<谢谢你的提前通知。

共有2个答案

长孙文栋
2023-03-14

您可以尝试阻止对任意多个事件执行默认操作。请注意,浏览器通常允许这样做,但有最终决定权(我很奇怪地记得有些问题并不总是有效)。

var events = ["keypress","click","submit","focus","blur","tab"];
events.forEach(function(eventName){
    window.addEventListener(eventName, function(e){
        // this is the list of tags we'd like to prevent events on
        // you may wish to remove this early return altogether, as even a div or span
        // can cause a form to submit with JavaScript
        if (["INPUT","A","FORM","BUTTON"].indexOf(e.tagName) === -1) {
            return;
        }

        // prevent the default action
        e.preventDefault();

        // stop other JavaScript listeners from firing
        e.stopPropagation();
        e.stopImediatePropagation();

        // if an input is somehow focused, unfocus it
        var target = e.target;
        setTimeout(function(){
          if (target.blur) target.blur();
        }, 50);
    // true as the third parameter signifies 'use capture' where available;
    // this means we get the event as it's going down, before it starts to bubble up
    // our propagation prevention will thus also prevent most delegated event handlers
    }, true);
});

你不能用CSS解决这个问题。< code>pointer-events不允许您指定哪些指针事件是可以的。为此,您确实需要JavaScript。

何甫
2023-03-14

使用Jquery:

< code>$('input[type="submit"]')。attr('disabled ',' disabled ');

$('a').attr('disabled', 'disabled');

这样地

 类似资料:
  • 问题内容: 我有这小段代码: 我想知道,当用户点击“提交”按钮时,如何禁用该请求。 基本上像这里这样。当您提出问题并决定关闭页面时,您会看到一个警告窗口,但是在提交表单时不会发生这种情况。 问题答案: 使用事件处理程序进行调用: 为防止提交表单,请添加以下行:

  • 问题内容: 我有一个链接而不是“提交”按钮: 单击后可以提交表单吗? 问题答案: 最好的方式 最好的方法是插入适当的输入标签: 最好的JS方式 由封闭后的JavaScript代码事件(只选择了向后兼容性如果你还没有这样做: 简单而不可取的方式(以前的答案) 在链接和表单中添加一个属性: 所有方式 无论选择哪种方式,最终都可以调用(标记的DOM对象在哪里)。 您还必须绑定这样的事件处理程序,该事件处

  • 我正在使用MasterDetailPage并在其中使用动作条。我已经禁用和隐藏的标志,图标和后退按钮的动作条。但当我尝试从左到右从左侧滑动时,一个空白菜单列表打开。我不知道为什么会这样。我如何禁用操作条的这个。我不想要菜单列表这就是为什么我禁用后退按钮,图标。当我从左到右滑动时,我如何禁用这个从左到右滑动的菜单?

  • 我有一个JS函数,可以将页面上表格的内容写入CSV文件。 但是,每当我遇到具有超链接的表单元格时(例如,

  • 我正在阅读Apache Flink的文档:https://ci.apache.org/projects/flink/flink-docs-stable/concepts/runtime.html. 正如医生提到的, 对于分布式执行,Flink将运算符子任务链接到任务中。每个任务都由一个线程执行。将运算符链接到任务中是一种有用的优化:它减少了线程到线程切换和缓冲的开销,并在减少延迟的同时提高了整体吞