在HTA中单击时使按钮变成其他颜色吗?

时间:2018-07-09 23:19:59

标签: javascript html css button hta

我正在制作一个将带有按钮的HTA应用程序,我希望按钮在单击时能改变颜色(例如,橙色/绿色),我发现一个脚本可以使用.html扩展名,但在运行时出现脚本错误使用.hta扩展名运行。请告诉您如何解决。 (是的,我必须坚持使用hta)

请注意,这是一个HTML Application,如果以下代码在标准浏览器中运行,它将可以正常工作

JS

jQuery(function($) {
  $('.select').click(function() {
    $(this).toggleClass('highlight')
  })
})

CSS

.select {
  background: rgb(255, 145, 0);
}

.select.highlight {
  background: rgb(26, 255, 0);
}

HTML

<body>
  <input type="button" name="Ignore Select" value="Ignore Select" id="select" class="select" />
  <input type="button" name="Ignore Delete" value="Ignore Delete" id="select1" class="select" />
  <input type="button" name="Ignore Insert" value="Ignore Insert" id="select2" class="select" />
  <input type="button" name="Ignore Update" value="Ignore Update" id="select3" class="select" />
  <input type="button" name="Ignore Sleep" value="Ignore Sleep" id="select4" class="select" />
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="my.js"></script>

编辑:错误图片https://imgur.com/a/ex0mw9P

2 个答案:

答案 0 :(得分:1)

您的HTA无法运行该版本的jQuery的主要原因是,默认情况下,HTA在兼容模式下(作为Internet Explorer 7)运行,并且不支持addEventListeners之类的方法。

如果将此警报添加到您的my.js代码中,您将看到打印了哪些用户代理。

alert(window.navigator.userAgent);

因此,要使其正常工作,您需要使用IE7兼容的方法,或更改渲染引擎。

要更改引擎,请将此元标记添加到您的<head>

<meta http-equiv="x-ua-compatible" content="ie=edge" />

答案 1 :(得分:0)

为什么不这样做:删除开始的jQuery部分,并用

替换
$(document).ready(function(){
    $('.select').click(function() {
        $(this).toggleClass('highlight')
    })
})