У меня есть таблица с кнопкой для каждой строки, каждая кнопка может получить одно и то же частичное представление с разными объектами одной и той же модели, и я вставляю HTML в Div, у частичного просмотра есть событие Jquery on click.
Что-то вродеthis
<div id="MyDiv">
</div>
<script>
funtion InserthtmlToDiv(){
//data (partialView html) from ajax
$('#MyDiv').html(data);
}
</script>
PartialViewCode
<div>
My html
<button type="button" id="MyButton">ShowAlert</button>
</div>
<script>
$('#MyButton').on("click", function (e) {
alert('@Model.ID');
});
</script>
Каждый раз, когда я получаю частичное представление, событие щелчка MyButton похоже на «сохраненное», даже заменяя HTML MyDiv, поэтому, когда я нажимаю наКнопка Я могу получить N номеров предупреждений на каждый загруженный PartalViews.
Я могу решить, заменить ли событие на функцию, но как я могу предотвратить сохранение событий и просто выполнить одно из них во вставленном div.
Примечания: у меня несколько событий с одной и той же проблемой, как это, это пример. У меня есть только одна кнопка с Id = "MyButton". Элемент div «MyDiv» не находится в частичном представлении, каждый раз, когда загружается частичное представление, прослушиватель событий «MyDiv» добавляет событие click.