Вызов функции Javascript со встроенным объектом не работает - PullRequest
0 голосов
/ 17 июня 2011

Я создаю некоторые HTML-файлы на лету следующим образом:

html += '<a class="ipadbutton" href="javascript:dashboard_GetProfileStats({&quot;profileid&quot;:&quot;' + profile.id + '&quot;});">Stats</a>';

При наведении курсора на ссылку в chrome все выглядит нормально (все решено, поэтому ссылка выглядит так:

javascript:dashboard_GetProfileStats({"profileid":"blablabla"});

Однако ссылка не работает ни в Chrome, ни в Safari. Можете ли вы вставлять объекты в hrefs, как это? Спасибо.

Ответы [ 2 ]

1 голос
/ 17 июня 2011

"Это плохой синтаксис для javascript. Он отображается в виде кавычки" '", но внутренне это" "", и это приводит к сбою ссылки.

То, что вы хотите, это нечто большеенапример:

html += "<a class=\"ipadbutton\" href=\"javascript:dashboard_GetProfileStats({'profileid': + profile.id});\">Stats</a>';

или даже лучше

html += "<a class=\"ipadbutton\" href=\"\" onclick=\"dashboard_GetProfileStats({'profileid': + profile.id});\">Stats</a>';

Также , обычно вы используете обработчик событий для работы со ссылками и тегами привязки.

так лучше: (прикрепление события через jquery)

html += '<a class="ipadbutton">Stats</a>';

<script>
  $(function() {
   $('.ipadbutton').click(function() {
     dashboard_GetProfileStats({'profileid': + profile.id});
     return false;
   });
  });
</script>
0 голосов
/ 17 июня 2011

используйте onclick вместо href

<a href="#" onclick='javascript:dashboard_GetProfileStats({"profileid":"blablabla"});'> ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...