我无法让它工作。如何将 JavaScript 添加到 jQuery 模板?
我尝试了以下方法,但没有成功:
<script id="geoShapeTooltip" type="text/x-jquery-tmpl">
${ alert ("TEXT"); }
<table id="tooltipTable" >
<tr><th class="tooltipHeading" colspan="2">
${item.fieldValues.NAME}, ${item.fieldValues.REGION}</th></tr>
<tr>
<td>Population:</td>
<td>${item.fieldValues.POP2005}</td>
</tr>
</table>
</script>
这是我在 fiddle 上遇到的问题.
编辑:我找到了不同的解决方案。在 Infragistics 模板中,您可以在 if 语句中执行 javascript。 {{if YOUR_JAVASCRIPT_GOES_HERE}}一些文本}}{{/if}} 如果需要,您可以向参数添加值,以便稍后显示。有点 hacky,但是有效。
最佳答案
我尝试在 jQuery 模板脚本区域内插入一个嵌套的普通 JavaScript 标签,它似乎工作正常:
<script id="geoShapeTooltip" type="text/x-jquery-tmpl">
<table id="tooltipTable" >
<tr><th class="tooltipHeading" colspan="2">
${item.fieldValues.NAME}, ${item.fieldValues.REGION}</th></tr>
<tr>
<td>Population:</td>
<td>${item.fieldValues.POP2005}</td>
</tr>
</table>
<script type="text/javascript">
alert('${item.fieldValues.NAME}');
</script>
</script>
显然,这有一个缺点,即您实际上添加了一个新的 <script type="text/javascript">..</script>
每次将一个国家/地区悬停在 DOM 上时都会标记到 DOM。另一种正确的方法是找出当某个国家/地区悬停在 igMap 文档中时触发的事件,并在 document.ready 处理程序中编写一个事件处理程序来监听该事件。如果你这样做,你需要使用jQuery的on
委托(delegate)事件处理程序在动态添加到页面时监听与特定类(即 geoShapeTooltip
)相关的任何事件。
关于javascript - 在 jQuery 模板中使用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607541/