One thing that might be an issue - you may be assigning a new event handler every time an href is clicked, meaning the 2nd time you'd fire 2 AJAX requests, the 3rd time would be 3, etc. You can probably solve that by using JS to attach the URL to the modal via a data attribute, something like this:
var $modal = $('#deleteModal');
$('.js-ajax-delete').on('click', function(event)
{
var deleteUrl = $(this).attr('href');
$modal.data('delete-url', deleteUrl);
$modal.modal('show');
});
$('#deleteModalConfirm').on('click', function()
{
$modal.modal('hide');
var deleteUrl = $modal.data('delete-url');
$.post(deleteUrl, {"_method" : "DELETE"}, function(response) {
//handle successful/failed delete
});
});
Abstract it to a function so you don't have to hard code the selectors, like so:
function setupDeleteModalLinks(linkSelector, modalSelector, modalConfirmSelector)
{
/* your code here */
}
And then you can call it in your blade files like so:
<script type="text/javascript">
$(function()
{
setupDeleteModalLinks('.js-ajax-delete', '#deleteModal', '#deleteModalConfirm');
});
</script>
In addition to the benefits of being better abstracted, it also means your selectors are located in the same file as the javascript that relies on them.