#IFNDEF в JavaScript

Я ищу решение, чтобы определить только функцию один раз в JavaScript, используя что-то в точности, как #ifndef в скомпилированных языках. Я нашел пару библиотек, которые должны были имитировать эту функциональность, но они не работали.

Я работаю с MVC 3 бритвой и определил некоторые HTML-помощники, поставили то, что по существу контролирует пользователь на странице.

Каждый элемент управления имеет набор функций JavaScript, которые определяют определенные функциональные возможности для этого элемента управления, поэтому в настоящем документе есть проблема: функции определяются несколько раз, когда помощник называется несколько раз на одной странице.

Я надеюсь найти способ сохранить очень небольшое количество JavaScript, определенного внутри помощника, и не приходится разделить весь JavaScript для каждого из этих небольших помощников в отдельном файле.

Образец:

@helper CmsImage(int id)
{
  var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;

  <text>
    <input type="button" class="editor_function" style="display: none;" onclick="editImage(@id); return false;" />
    <script>
        function editImage(id) {
            $('#alt_text' + id).attr('value', $('#' + id).attr('alt'));
            $('#image_url' + id).attr('value', $('#' + id).attr('src'));
        }

        function saveImage(button, id) {
            $(button).parent().parent().removeClass('color-yellow').addClass('color-red');
            $(button).parent().siblings('div.widget-content').html('<img alt="' + $('#alt_text' + id).val() + '" src="' + $('#image_url' + id).val() + '" id="' + id + '" />');
        }
        #endif 
    </script>
    Image Url:
    <input type="text" id="image_url@{id.ToString();}" /><br />
    Alt Text:
    <input type="text" id="alt_text@{id.ToString();}" /><br />
    <input type="button" value="save" onclick="saveImage(this, @{id.ToString();});" />
    @Html.Raw(GetCurrentContent(id))
  </text>
}

Вышесказанное не работает в браузере, если дает мне ошибку: '48: Нераспознанный токен незаконно '

8
задан fodma1 12 August 2016 в 15:29
поделиться