OK, I have a fix. But first let me explain my research.
Solspace is using jQuery “noConflict” like so:
$j = jQuery.noConflict();
So all those jQuery functions need to have that ‘j’ there, like this for example:
$j('#related_entries_box input.submit').click(function(event) {
MD scripts are also being written to the Control Panel page, but none of the MD scripts have a ‘j’ in there, so I don’t think jQuery was recognizing any of their functions as functions, hence the “$ is not a function” error you were seeing.
The solution was for me to wrap my jQuery stuff with this:
(function($){
...stuff...
})(jQuery);
That saves you from having to tweak my extensions or having to tweak the Solspace extension.
So, how to implement? I will be updating both extensions, but for the quick fix:
MD Live Search fix for 1.1.9
At line 615, right inside the opening script tag, add:
(function($){
and then add the closing jQuery thing after the (window).bind, appx line 974:
$(window).bind('load', livesearch);
})(jQuery);
MD Markitup fix for 1.6.0
We need to do the fix in two places.
At line 1067, right inside the opening script tag, add:
(function($){
and then add the closing jQuery thing right before the closing script tag, appx line 1072:
})(jQuery);
Then at what is probably now line 1078, right inside the opening script tag, add:
(function($){
and then add the closing jQuery thing before the final closing script tag. Find line 1153 (appx) and change it from this:
$markitupstuff .= '[removed]'.NL;
to this
$markitupstuff .= '})(jQuery); [removed]'.NL;
I just did these tweaks on a local install and have all three playing nicely together. I’ll update the downloads for the extensions, but that should get you on the right track.