【发布时间】:2016-11-15 10:56:36
【问题描述】:
我在 aem 中创建了 JSP 页面,并从 parsys 中拖放了 2 个相同的组件。在 jsp 中,我正在检索其中一个组件上的 onclick 值。但每次我得到最后一个的价值。属性值是压倒一切的。谁能帮帮我?
<%@include file="/libs/foundation/global.jsp"%>
<html>
<head>
<title>Link Components</title>
</head>
<script>
var link;
function openWindow() {
link = "<%=properties.get(". / linkpage ")%>";
alert(link);
window.open("<%=properties.get(". / link ")%>");
hyperlink = "<%=properties.get(". / link ")%>"
}
</script>
<body>
<a href="#" onclick="javascript:openWindow();">
<%=properties.get("./linkpage")%>
</a>
</body>
</html>
【问题讨论】:
-
你能显示一些代码吗?
-
function openWindow()在全局命名空间中,因此第二个组件包含会覆盖函数定义。 -
那我该怎么办?
-
@PriyankDave 封装您的前端代码。每次渲染组件时都会执行 sn-p 中的代码。组织它的更好方法是将您的 JS 代码放在客户端库中。然后,您可以使用Module pattern 从组件标记中读取相关信息(例如从数据属性中)。