gpt4 book ai didi

javascript - 禁用表数据中控件的单击事件

转载 作者:行者123 更新时间:2023-11-28 07:36:50 25 4
gpt4 key购买 nike

我在表数据中有一个控件列表,它包含在作为父标签的 div 标签中,我想禁用我的开机和关机按钮上的点击事件。目前,如果我单击按钮,就会从我的网站向 IOT 发送请求。我想禁用这两个元素的点击事件。

这是我的代码:

<table class="pure-table pure-table-horizontal" style="width: 90%;">
<thead>
<tr>
<th>#</th>
<th>Device Name</th>
<th>Status</th>
<th>Temperature (&#176; C)</th>
<th align="left">Action</th>
</tr>
</thead>

<tbody>

<% devices.forEach(function(device, i){ %>
<tr>
<td><%= (i + 1) %></td>
<td>
<%= device.name || device.macAddress %>
</td>
<td id="text_<%= device.id %>">
<% if (device.updateInProgress) { %>
<i class="fa fa-spinner fa-spin"></i>
<% } else if (device.powerState == false) { %>
<%= "Powered off" %>
<% } else if (device.startState == true) { %>
<%= "Running" %>
<% } else { %>
<%= "Not running" %>
<% } %>
</td>
<td>
<% if (device.updateInProgress){ %>
N/A
<% } else if (device.powerState) { %>
<div class="pure-g">
<div class="pure-u-1-4">
<%= device.temperature %>
</div>

<!--I tried commenting this to remove temperature edit icon for single device-->

<!--<div class="pure-u-1-4">-->
<!--<i class="fa fa-pencil-square-o" id="set_temp" data-value="<%= device.id %>"></i>-->
<!--</div>-->


</div>
<% } else { %>
N/A
<% } %>
</td>
<td align="left">
<a href='/user/startOff/<%= device.id %>?boxid=<%= id %>'
class="pure-button button-green <%= device.updateInProgress == true ? 'hidden' : device.powerState == false ? 'hidden' : device.startState == false ? 'hidden' : '' %>"
type="button">Start Off</a>

<a href='/user/startOn/<%= device.id %>?boxid=<%= id %>'
class="pure-button button-green <%= device.updateInProgress == true ? 'hidden' : device.powerState == false ? 'hidden' : device.startState == true ? 'hidden' : '' %>"
type="button">Start On</a>

<a href='/user/powerOff/<%= device.id %>?boxid=<%= id %>'
class="pure-button button-warning <%= device.updateInProgress == true ? 'hidden' : device.powerState == true ? '' : 'hidden' %>"
type="button">Power Off</a>

<a href="/user/powerOn/<%= device.id %>?boxid=<%= id %>"
class="pure-button <%= device.updateInProgress == true ? 'hidden' : device.powerState == true ? 'hidden' : '' %>"
type="button">Power On</a>

<a href="/user/deleteDevice/<%= device.id %>?boxid=<%= id %>"
class="pure-button button-error pull-right <%= device.updateInProgress == true ? 'hidden' : '' %>"
type="button ">
<i class="fa fa-times"></i>
</a>

</td>
</tr>
<% }) %>

</tbody>

</table>

这一切都在 Node.js 网站上运行。

理想情况下,这是当前代码的屏幕外观:

enter image description here

我希望显示完全相同,除了“开机”和“关机”上的点击事件应该什么都不做。

我想的是删除“”,我知道这是为了使链接或 URL 处于事件状态。但是没有它我无法适应代码。

请帮忙。

最佳答案

您可以在您的链接上添加一个 disabled 类。然后使用 css 或 javascript 禁用与该类的链接:

<a href="/user/powerOn/<%= device.id %>?boxid=<%= id %>" 
class="disabled pure-button <%= device.updateInProgress == true ? 'hidden' :device.powerState == true ? 'hidden' : '' %>"
type="button">Power On</a>

<script>
$('body').on('click','a.disabled', function(e){
e.preventDefault();
})
</script>

<!-- OR -->

<style>
a.disabled{
cursor: not-allowed;
pointer-events: none;

}
</style>

记住browser compatibility对于 css 解决方案。

关于javascript - 禁用表数据中控件的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com