我正在try 制作一个链接,当你点击它时,它会弹出一个词汇表.它应该运行一个脚本,将变量"WordID"更改为与单词定义对应的标题的html元素ID.

我试过这个:

<a onclick="BrowserPopupGlossary()" onclick="WordId = "...";">...</a>

这是BrowserPopupGlossary函数:

var WordId;
function BrowserPopupGlossary() {
    window.open('glossary.html'+'#'+WordId,'popUpWindow','height=500,width=400')
}

有什么建议可以优化/修复这个问题吗?

推荐答案

如果那个值在那个时候是已知的,那么就把它传递给函数. 这里不需要全局变量,当然也不需要try 创建两个onclick处理程序.

例如:

<a onclick="BrowserPopupGlossary('someValue')">...</a>

并在函数中使用它:

function BrowserPopupGlossary(wordId) {
  window.open('glossary.html#' + wordId, 'popUpWindow', 'height=500,width=400');
}

Javascript相关问答推荐

是什么原因导致此Angular 16应用程序中类型错误时属性结果不存在?

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

React 17与React 18中的不同setState行为

如何从一个列表中创建一个2列的表?

如何使用JavaScript将文本插入空div

如何将Map字符串,布尔值转换为{key:string;value:bo布尔值;}[]?<>

如何将Openjphjs与next.js一起使用?

使用POST请求时,Req.Body为空

如何在coCos2d-x中更正此错误

如何在JAVASCRIPT中临时删除eventListener?

TypeError:无法读取未定义的属性(正在读取';宽度';)

在FAQ Accodion应用程序中使用React useState时出现问题

与svg相反;S getPointAtLength(D)-我想要getLengthAtPoint(x,y)

第一项杀死下一项,直到数组长度在javascript中等于1

使用自动识别发出信号(&Q)

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

未捕获的不变违规:即使在使用DndProvider之后也应使用拖放上下文

在Java脚本中构建接口的对象

Promise.race()返回已解析的promise ,而不是第一个被拒绝的promise

如何在预览中显示html+css与数据URL?