我有一个带参数的onclick函数。我希望在警报中显示此参数。我该如何给出参数?像这样:
<img id="imgPerson" src="_#=itemImg=#_" width="200" height="200" onclick="SetDetailInfo('test value 123')"/>
function SetDetailInfo(myCustomParam) {
alert(myCustomParam);
}
UPDATE 上面的代码工作正常。但是我不希望给函数一个固定的参数。我想让它充满活力。以下代码有效。你会看到一些变量名为&#34; #= line2 =#&#34;以div打印。这工作并显示一些字符串运行时。我想将该变量的值作为参数添加到函数中。
<img id="imgBestuurderFoto" src="_#=itemDate=#_" width="200" height="200" onclick="SetDetailInfo('test 123')" style="padding:0 !important;margin:0 !important;border:0 !important;" />
<div class="cbs-Line2" title="_#= $htmlEncode(line2.defaultValueRenderer(line2)) =#_" id="_#= line2Id =#_" style="display:block;" >_#= line2 =#_</div>
这是带有变量的javascript:
var encodedId = $htmlEncode(ctx.ClientControl.get_nextUniqueId() + "_2lines_");
var line2 = $getItemValue(ctx, "IntroText");
line2.overrideValueRenderer($contentLineText);
var line2Id = encodedId + "line2";
答案 0 :(得分:1)
这样可以正常工作,但是你应该在你的标记之外不引人注意地绑定你的事件处理程序,这样你就不必对该字符串进行硬编码了:
var someValue = "Test 123"; //This could be dynamic
var img = document.queryselector('#imgPerson');
img.addEventListener('click', function(e){
SetDetailInfo(someValue);
});
function SetDetailInfo(myCustomParam) {
alert(myCustomParam);
}
答案 1 :(得分:1)
我特别喜欢在元素中使用data-attributes来分发信息,试试这个:
<img id="imgPerson" src="_#=itemImg=#_"
width="200" height="200" data-test-attr="test value 123"/>
在js
$("#imgPerson").click(function(e){
alert($(this).data("test-attr"));
});