单击我的标记时,我需要运行自定义操作。
根据教程,我试过了
$(".qty1").on("change", function() {
sum=0;
$(".qty1").each(function() {
myval=$(this).val();
if (myval==="") return;
sum += parseInt($(this).val());
console.log("Sum is: "+sum);
$(".total").val(sum);
});
});
但我无法弄清楚如何到达标记的导航处理程序,或以其他方式收听此标记的事件。 (光标移动到&#34的开头;这个"元素是一个稍微不受欢迎但不重要的副作用,可以很好地抑制)。
然后我尝试了这个:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="qty1" value="" />
<input type="text" class="qty1" value="" />
<input type="text" class="qty1" value="" />
<input type="text" class="qty1" value="" />
<input type="text" class="qty1" value="" />
<input type="text" class="qty1" value="" />
<input type="text" class="total" value="" />
这种方法可以让我听到标记的鼠标点击。但是,现在我遇到了一个特殊的问题:无论何时编辑标记的代码行,都会在装订线中产生重复,重复等标记。
正确的方法是什么?
答案 0 :(得分:0)
原来我需要指定一个传球。
int pass = Pass.UPDATE_OVERRIDEN_MARKERS;
RelatedItemLineMarkerInfo marker = new RelatedItemLineMarkerInfo(this, getTextRange(), MyIcons.VOLUME, pass, tooltipProvider, handler, GutterIconRenderer.Alignment.CENTER, new ArrayList<GotoRelatedItem>());
我必须使用Pass.UPDATE_OVERRIDEN_MARKERS
,即使IntelliJ将其标记为已弃用,并表示它将很快删除(请参阅下面的链接)。但是,IntelliJ建议的常量Pass.LINE_MARKERS
会导致重复的标记。