javascript - Jquery:如何在加载时禁用图像的点击功能?

标签 javascript jquery

这将无法使用:

$('div#menuBar,#goLeftBtn,#goRightBtn').attr('disabled', true);

在document.ready中

有什么想法吗? 谢谢!

编辑:
我的 html 基本上是这样的:

  <div id="floatRight">
       <img src="./images/all_left.png" id="goAllLeft" class="arrow" />
       <img src="./images/left.png" id="goLeft" class="arrow" />
       <img src="./images/right.png" id="goRight" class="arrow"/>
       <img src="./images/all_right.png" id="goAllRight" class="arrow" />
    </div>

我知道这些不是上面 jquery 代码中的确切图像名称,但我的所有 img 基本上都是这样设置的,对于该特定代码行,我只需要禁用这些 img。

最佳答案

与其尝试在加载时禁用,不如在加载文档之前不绑定(bind)点击事件?

如果这些都是没有被 anchor 标签包裹的图片,你可以很容易地做到这一点。

<img id="menuBar" />
<img id="goLeftBtn" />
<img id="goRightBtn" />

目前没有绑定(bind)点击事件,所以真的没有什么可以禁用的

<script type="text/javascript">
    $(function(){
        $("#goLeftBtn").click(function() { /* go left */ });
        $("#goRightBtn").click(function() { /* go right */ });
        $("#menuBar").click(function() { /* go menu? */ });
    });
</script>

如果您将这些包装在 anchor 标记中,您将无法调用 e.preventDefault 来阻止点击事件的发生,因为页面未完成加载并且 jQuery 事件是不绑定(bind)。


如果您像这样内嵌点击事件(这可能不是一个好主意):

<img id="menuBar" onclick="return DoMenuStuff();" />
<img id="goLeftBtn" onclick="return GoLeft();" />
<img id="goRightBtn" onclick="return GoRight();" />

你总是可以这样做:

<script type="text/javascript">
    var loaded = false;
    $(function(){
        loaded = true; // page done loading
    });

    function DoMenuStuff()
    {
        if(loaded) { /* do stuff */ }
    }

    function GoLeft()
    {
        if(loaded) { /* do stuff */ }
    }

    function GoRight()
    {
        if(loaded) { /* do stuff */ }
    }
</script>

关于javascript - Jquery:如何在加载时禁用图像的点击功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618453/

相关文章:

javascript - 如何在 beforeunload 显示它自己之前显示模态对话框?

jquery - 通过jquery动态添加类名到div

javascript - CSS类不适用于特定场景

javascript - 正则表达式排除词

jquery - Owl Carousel 项目顺序从列表中间的项目开始

javascript - Jquery:表内行的内联编辑

javascript - 获取一个元素的所有子元素是文本区域吗?

javascript - 将 JSON 对象发送到 Web 服务时 $.ajax 函数失败

javascript - goBack 按钮,同时使用 react-router 保留 url 状态

javascript - Angularjs 表单验证指令失败